Skip to content

C has always been a language where few automations were developed, mainly due to the mindset of the community. This is a project to automate test case generation for static control flow testing.

License

Notifications You must be signed in to change notification settings

abj-paul/Automated-Static-Control-Flow-Testing

Repository files navigation

About

C has always been a language where few automations were developed, mainly due to the mindset of the community. This is a project to automate test case generation for static control flow testing and static data flow testing for data flow issues detection.

Installation

cd backend
python3 -m venv backendEnv
source backendEnv/bin/activate
pip install -r requirements.txt

uvicorn main:app --reload

About Endpoints

We have added a insomnia-based-endpoint-testing json in the backend folder. Simply open your insomnia, click on the three dots of a collection and select Import from file. Done! You have now loaded json and routes to interact with our endpoints!

We have 4 endpoints in total.

  • /api/v1/dataflow/code/file: It builds static data flow from a single file.
  • /api/v1/dataflow/code/project: It builds static control flow for a whole project.
  • /api/v1/code/file: It builds static control flow testing from a single file.
  • /api/v1/code/project: It builds static control flow testing for a whole project.

Features

  • [ ] Understanding AST : @Rifah @Muktadul
  • [X] Converting JSON to Graph visualization @abhijit
  • [ ] DFS to find independent paths @Abhijit

More structured scheme

We built one static control flow graph for each function when performing unit testing. So we will do the same here as well.

  1. Split functions
  2. For each function, draw an AST
  3. Find variables and independent paths in those AST

Let us start from the beginning again.

About

C has always been a language where few automations were developed, mainly due to the mindset of the community. This is a project to automate test case generation for static control flow testing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •