Interprocedural control flow reconstruction

Andrea Flexeder, Bogdan Mihaila, Michael Petter, Helmut Seidl

Publikation: Beitrag in Buch/Bericht/KonferenzbandKonferenzbeitragBegutachtung

14 Zitate (Scopus)

Abstract

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.

OriginalspracheEnglisch
TitelProgramming Languages and Systems - 8th Asian Symposium, APLAS 2010, Proceedings
Seiten188-203
Seitenumfang16
DOIs
PublikationsstatusVeröffentlicht - 2010
Veranstaltung8th Asian Symposium on Programming Languages and Systems, APLAS 2010 - Shanghai, China
Dauer: 28 Nov. 20101 Dez. 2010

Publikationsreihe

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Band6461 LNCS
ISSN (Print)0302-9743
ISSN (elektronisch)1611-3349

Konferenz

Konferenz8th Asian Symposium on Programming Languages and Systems, APLAS 2010
Land/GebietChina
OrtShanghai
Zeitraum28/11/101/12/10

Fingerprint

Untersuchen Sie die Forschungsthemen von „Interprocedural control flow reconstruction“. Zusammen bilden sie einen einzigartigen Fingerprint.

Dieses zitieren