Assignment 3 CPP - SVF-tools/Software-Security-Analysis GitHub Wiki
Run Tests
Use control + ~ to open a terminal in VSCode and then type the below command line
| Your implementation | ctest command line |
|---|---|
| Your AE tests | ctest -R ass3-ae-cpp -VV |
| Your buffer overflow tests | ctest -R ass3-buf-cpp -VV |
| The entire Assignment-3 | ctest -R ass3.*cpp -VV |
Upload
Upload Assignment-3.cpp to UNSW WebCMS for your submission when you are finished with this assignment. Your implementation will be evaluated against X number of our internal tests. If you pass Y tests, you will receive Y/X * 100% marks. Here, we only provided several simple test cases under Assignment-3/Tests/ae for assertion validation and Assignment-3/Tests/buf for buffer overflow detection. You are encouraged to add more test cases by yourself to validate the correctness of your implementation.
*You will be working on Assignment-3.cpp only and there is NO need to modify other files under the Assignment-3 folder
SVF AE API to help with your implementation.
3. Configuration && debugging
3.1 Configuration
To enable debugging and running, switch your executable by setting the program and args fields as described here or follow the below screenshot.

3.2 Debugging
If you want to see the value of AbstractValue, you can call toString() to print the value (either IntervalValue or AddressValue).
int main() {
AbstractValue a = IntervalValue(1, 1);
std::cout << a.toString() << std::end;
}