-
Notifications
You must be signed in to change notification settings - Fork 137
Assignment 3
In this assignment, you are requested to complete a taint analysis function which will analyze the given bc file and output the result of whether the source data will be tainted.
This assignment requested the supports of the svf library. To compile the executable, you need to set up the svf library on your device.
npm i --silent svf-lib --prefix ${HOME}
After the svf-lib has been installed, you can run the env. sh script which is in your assignment folder to set up the environment.
source ./env.sh
While the environment has been set up, you are now able to start your assignment.
In your Assignment 2, you have completed an Andersen point-to analysis function which will analysis the point-to detail of the given bc file. In this assignment, you are requested to design a taint analysis function which will output whether the source data will be tainted.
src() is the source function in the target test bc files.
sink() is the sink function in the target test bc files.
You need to output "tainted" if the source data will/may be tainted. Otherwise, output "No Taint" in the terminal.
Your submission requests 2 components which are your solution codes and the executable file of your solution.
Once you complete the assignment, you need to run the build. sh script. This script will build your solution automatically and generate the executable file which called svf-ex.
./build.sh
Finally, you are requested to commit and push your code and the executable file via the git command.
git add <source code and the execuateable file>
git commit -m'<commit message>'
git push
Note: It is important to submit the executable file. Otherwise, your submission will not be marked by the system.
After the submission, your work will be automatically marked by the system and you can check your mark at the assignment GitHub repository.