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 |
Externí odkaz: |