zbMATH — the first resource for mathematics

An abstract interpretation-based framework for control flow reconstruction from binaries. (English) Zbl 1206.68091
Jones, Neil D. (ed.) et al., Verification, model checking, and abstract interpretation. 10th international conference, VMCAI 2009, Savannah, GA, USA, January 18–20, 2009. Proceedings. Berlin: Springer (ISBN 978-3-540-93899-6/pbk). Lecture Notes in Computer Science 5403, 214-228 (2009).
Summary: Due to indirect branch instructions, analyses on executables commonly suffer from the problem that a complete control flow graph of the program is not available. Data flow analysis has been proposed before to statically determine branch targets in many cases, yet a generic strategy without assumptions on compiler idioms or debug information is lacking.
We have devised an abstract interpretation-based framework for generic low level programs with indirect jumps which safely combines a pluggable abstract domain with the notion of partial control flow graphs. Using our framework, we are able to show that the control flow reconstruction algorithm of our disassembly tool Jakstab produces the most precise overapproximation of the control flow graph with respect to the used abstract domain.
For the entire collection see [Zbl 1155.68009].

68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
Full Text: DOI