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.
cd backend
python3 -m venv backendEnv
source backendEnv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
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.
- [ ] Understanding AST : @Rifah @Muktadul
- [X] Converting JSON to Graph visualization @abhijit
- [ ] DFS to find independent paths @Abhijit
We built one static control flow graph for each function when performing unit testing. So we will do the same here as well.
- Split functions
- For each function, draw an AST
- Find variables and independent paths in those AST
Let us start from the beginning again.