-
Notifications
You must be signed in to change notification settings - Fork 37
Assignment 3 Python
Use Alt + F12 to open a terminal in VSCode and then type the below command line
| Your implementation | ctest command line |
|---|---|
| The sample programs | ctest -R ass3-py |
| The entire Assignment-3 | ctest -R ass3.*py |
Submit Assignment_3.py — the only file accepted (any other file under Assignment-3/ is ignored, so put every class and helper method inside it). The file name is exact and case-sensitive.
Submit with give on a CSE machine, from the directory containing the file:
give cs6131 ass3 Assignment_3.pyA successful submission reports Your submission is ACCEPTED.. You may resubmit any number of times before the deadline; only your latest accepted submission is marked. See Uploading submissions using give for details.
Your implementation will be evaluated against a set of internal tests; your mark is the fraction of them that your implementation passes. Only a few small sample programs ship under Assignment-3/Tests so you can sanity-check your build; you are encouraged to write more test cases of your own to validate your implementation.
*You work in Assignment_3.py only — do NOT modify any other file under the Assignment-3 folder (the harness AEHelper.py / AEReporter.py and the test driver are not part of your submission and are replaced during marking).
SVF AE Python API to help with your implementation.
When implementing handleICFGCycle, remember that self.post_abs_trace[node] returns a reference to the C++ AbstractState. Use .clone() when saving a previous iteration state before mutating the trace.
3.1 launch.json
To enable debugging and running, switch your executable by setting the program and args fields as described here or follow the below screenshot.

If you want to see the value of AbstractValue, you can call to_string() to print the value (either IntervalValue or AddressValue).
a = IntervalValue(1,1)
print(a.toString())