Interprocedural Control Flow Reconstruction

Autor: Bogdan Mihaila, Helmut Seidl, Michael Petter, Andrea Flexeder
Rok vydání: 2010
Předmět:
Zdroj: Programming Languages and Systems ISBN: 9783642171635
APLAS
DOI: 10.1007/978-3-642-17164-2_14
Popis: In this paper we provide an interprocedural algorithm for reconstructing the control flow of assembly code in presence of indirect jumps, call instructions and returns. In case that the underlying assembly code is the output of a compiler, indirect jumps primarily originate from high-level switch statements. For these, our methods succeed in resolving indirect jumps with high accuracy. We show that by explicitly handling procedure calls, additional precision is gained at calls to procedures exiting the program as well as through the analysis of side-effects of procedures onto the local state of the caller. Our prototypical implementation applied to real-world examples shows that this approach yields reliable and meaningful results with decent efficiency.
Databáze: OpenAIRE