Skip to content

Assignment 3 Python

Jiawei Wang edited this page Jun 7, 2026 · 11 revisions

Run Tests

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

Upload

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.py

A 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. Configuration && debugging

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 to_string() to print the value (either IntervalValue or AddressValue).

a = IntervalValue(1,1)
print(a.toString())

More information about Python

Clone this wiki locally