Bounded Model Checking of RISC-V Machine Code with Context-Free-Language Ordered Binary Decision Diagrams
Anna Bolotina, Christoph M. Kirsch, Stefanie Muroya Lei, Matthias Pleschinger

TL;DR
This paper introduces a novel approach to bounded model checking of RISC-V machine code by utilizing context-free-language ordered binary decision diagrams, aiming to improve scalability and efficiency of symbolic execution at the machine code level.
Contribution
The paper presents two new tools, rotor and bitme, that leverage CFLOBDDs and BDDs for scalable, bit-precise reasoning directly on machine code, reducing reliance on SMT solvers.
Findings
CFLOBDDs show potential for improved scalability over ADDs.
SMT solvers are less effective on complex models, but BDD-based methods speed up analysis.
Experimental results indicate promising directions for scalable machine code analysis.
Abstract
Symbolic execution is a powerful technique for analyzing the behavior of software yet scalability remains a challenge due to state explosion in control and data flow. Existing tools typically aim at managing control flow internally, often at the expense of completeness, while offloading reasoning over data flow to SMT solvers. Moreover, reasoning typically happens on source code or intermediate representation level to leverage structural information, making machine code generation part of the trust base. We are interested in changing the equation in two non-trivial ways: pushing reasoning down to machine code level, and then offloading reasoning entirely into SMT solvers and other, possibly more efficient solver technology. In more abstract terms, we are asking if bit-precise reasoning technology can be made scalable on software, and not just hardware. For this purpose, we developed two…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Software Reliability and Analysis Research · Software Testing and Debugging Techniques
