Title :
Structuring 2-way Branches in Binary Executables
Author :
Wei, Tao ; Mao, Jian ; Zou, Wei ; Chen, Yu
Author_Institution :
Peking Univ., Beijing
Abstract :
One of the major challenges of control flow analysis in decompilation is to structure 2-way branches into conditionals, loop conditionals and switches. In this paper, we propose a graph-based method to formally describe structures of 2-way branches via the introduction of concepts called "compound branch subgraph" and "cascade branch subgraph". We then present novel structuring algorithms based on such concepts. Compared with previous works, our algorithms are deterministic rather than heuristic, and they do not use complicated data structures such as Interval/DSG. We show that in theory our algorithm is more accurate and efficient than typical current approaches; furthermore, we have applied the algorithm to several real-world binary executables, and experimental results validate such theoretical analysis.
Keywords :
graph theory; program compilers; program control structures; binary executable; cascade branch subgraph; compound branch subgraph; control flow analysis; program decompilation; Algorithm design and analysis; Computer science; Data structures; Flow graphs; Graph theory; Heuristic algorithms; Level control; Research and development; Scattering; Switches;
Conference_Titel :
Computer Software and Applications Conference, 2007. COMPSAC 2007. 31st Annual International
Conference_Location :
Beijing
Print_ISBN :
0-7695-2870-8
DOI :
10.1109/COMPSAC.2007.203