Researcher Builds Interactive Assembly Verification Tool
An author describes an interactive Python-based proof experience for verifying assembly using Knuckledragger (a z3py proof assistant), pypcode lifter, and a symbolic executor. The post demonstrates building specs, bounded model checking, and semi-interactive proofs on a riscv32 sum_i32 example, with code and notebook on GitHub. This approach helps debug invariants and generate verification conditions for assembly-level correctness.
Key Points
- 1Implements interactive Python proof assistant for assembly using Knuckledragger, pypcode lifter, and z3py.
- 2Generates verification conditions and expresses invariants as CFG cuts to ensure finite trace coverage.
- 3Enables semi-interactive debugging and bounded model checking for assembly-level correctness proofs.
Scoring Rationale
Useful open-source interactive verifier with working demo, but limited novelty and single-source implementation lacking broader evaluation.
Sources
Public references used for this report.
Practice interview problems based on real data
1,625 SQL & Python problems across 15 industry datasets — the exact type of data you work with.
Try 250 free problems
