Abstract Interpretation of Binary Code with Memory Accesses using Polyhedra
Cl\'ement Ballabriga, Julien Forget, Giuseppe Lipari

TL;DR
This paper introduces a new static analysis method for binary code using polyhedral abstract interpretation, effectively handling memory accesses to compute loop bounds relevant for real-time system WCET analysis.
Contribution
It presents a novel polyhedral-based abstract domain and mapping functions for binary code analysis, applicable to loop bounds and other static analysis tasks.
Findings
Successfully computes upper bounds for loop iterations
Applicable to Worst-Case Execution Time analysis
General approach for static analysis of binary code
Abstract
In this paper we propose a novel methodology for static analysis of binary code using abstract interpretation. We use an abstract domain based on polyhedra and two mapping functions that associate polyhedra variables with registers and memory. We demonstrate our methodology to the problem of computing upper bounds to loop iterations in the code. This problem is particularly important in the domain of Worst-Case Execution Time (WCET) analysis of safety-critical real-time code. However, our approach is general and it can applied to other static analysis problems.
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 Testing and Debugging Techniques · Software Reliability and Analysis Research
