## Project for Software Quality Assurance (COMP 5710/6710) 

### Objective 

The objective of this project is to integrate software quality assurance activities into an existing Python project. Whatever we learned from our workshops will be integrated in the project. 

### Activities 

1. Unpack the project `MLForensics.zip`. (1%)
2. Put the names and emails of your teammate in this [spreadsheet](https://tigermailauburn-my.sharepoint.com/:x:/r/personal/azr0154_auburn_edu/Documents/TEACHING/Project-Teams-COMP5710-6710.xlsx?d=wc6ae045b76204f59937f4717def3ec93&csf=1&web=1&e=urd3fe) (1%)
2. Upload project as a GitHub repo on `github.com`. Format of the repo name is `TEAMNAME-FALL2024-SQA`  (1%)
3. In your project repo create `README.md` listing your team name and team members. (2%)
4. Apply the following activities related to software quality assurance:

   - 4.a. Create a Git Hook that will run and report all security weaknesses in the project in a CSV file whenever a Python file is changed and committed. (20%)

   - 4.b. Create a `fuzz.py` file that will automatically fuzz 5 Python methods of your choice. Report any bugs you discovered by the `fuzz.py` file. `fuzz.py` will be automatically executed from GitHub actions. (20%)

   - 4.c. Integrate forensics by modifying 5 Python methods of your choice. (20%)

   - 4.d. Integrate continuous integration with GitHub Actions. (20%)   

5. Report your activities and lessons learned. Put the report in your repo as `REPO.md` (15%)   


### Deliverables 

1. A repo hosted on GitHub. Name of the repo will be `TEAMNAME-FALL2024-SQA` 
2. Full completion of all activities as recorded on the GitHub repository 
3. Report describing what activities your performed and what you have learned 
4. Logs and screenshots that show execution of forensics, fuzzing, and static analysis 

### Deadline to Complete All Activities 

Dec 05, 2024, 11:59 PM CST