Skip to content

Assignment 3 Python

Jiawei Yang edited this page Jul 28, 2026 · 12 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-level-1-py/' -VV
The entire Assignment-3 ctest -R 'ass3.*py' -VV

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 using the level allocation published on the Assignment 3 specification and includes hidden tests. 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] is an AEState wrapper, while .clone() returns a raw pysvf.AbstractState. Wrap the clone in AEState before storing it in a 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 toString() to print the value (either IntervalValue or AddressValue).

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

More information about Python

Clone this wiki locally