1996
DOI: 10.1007/3-540-61053-7_55
|View full text |Cite
|
Sign up to set email alerts
|

Structuring decompiled graphs

Abstract: Abstract.A structuring algorithm for arbitrary control flow graphs is presented. Graphs are structured into functional, semantical and structural equivalent graphs, without code replication or introduction of new variables. The algorithm makes use of a set of generic high-level language structures that includes different types of loops and conditionals. Gotos are used only when the graph cannot be structured with the structures in the generic set. This algorithm is adequate for the control flow analysis requir… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
17
0
1

Year Published

1997
1997
2012
2012

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 27 publications
(18 citation statements)
references
References 24 publications
0
17
0
1
Order By: Relevance
“…In the first iteration, the smart buffer fetches the first four array elements that make up the first window. The window of the second iteration contains three elements (A [1], A [2], and A [3]) from the window of the first iteration. In this case, the smart buffer only fetches a single element (A [4]).…”
Section: Advanced Register/memory Structures -Smart Buffersmentioning
confidence: 99%
See 2 more Smart Citations
“…In the first iteration, the smart buffer fetches the first four array elements that make up the first window. The window of the second iteration contains three elements (A [1], A [2], and A [3]) from the window of the first iteration. In this case, the smart buffer only fetches a single element (A [4]).…”
Section: Advanced Register/memory Structures -Smart Buffersmentioning
confidence: 99%
“…Most of our decompilation techniques are based on work done by Cifuentes [3][4] [5]. We use our own techniques to recover arrays and remove assembly overhead.…”
Section: Decompilationmentioning
confidence: 99%
See 1 more Smart Citation
“…Baker [14] proposed an algorithm for finding high-level control constructs (e.g., if-then-else, while loops) in goto-riddled FORTRAN programs. Cifuentes [15] used a similar procedure to reconstruct high-level information in control-flow graphs generated by decompiling executables. Since loops are the main concern in both works, and the SCFG our compiler generates have no loops, the algorithms are not a good fit for the problem here.…”
Section: Generating Well-structured C Codementioning
confidence: 99%
“…For instance, the loops might be written with the use of while or do-while operators in the original Java sources. In essence, the exploited algorithms are similar to those of related works [18], [19]. However, in order to make them work properly on a variety of real-world Java applications, we had to carefully adapt the algorithms to the Java bytecode specification.…”
Section: Implementation Notesmentioning
confidence: 99%