This is a learning experiment
where I'm trying to explore
if we have sufficient metadata
to auto-generate (most of) mark_stacks().
The main file is symex.py, which contains:
Instruction: class representing a bytecode instructionparse_bytecodes(): return a list ofInstructionfor a code objectExecution: class holding state during symbolic executionrun(): do everything for one code objectmain(): CLI to process all or selected code objects in files/folders
Other files:
- opcode_metadata.py: Metadata generated by (as yet umerged code in) Tools/cases_generator/generate_cases.py in the cpython repo
- forallcode.py: Helper to extract code objects from files, tarballs, and folders
- sample.py:
Default test input for
symex.py