Intraprocedural static slicing of binary executables
- 23 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 3 (10636773) , 188-195
- https://doi.org/10.1109/icsm.1997.624245
Abstract
Program slicing is a technique for determining the set of statements of a program that potentially affect the value of a variable at some point in the program. Intra and interprocedural slicing of high level languages has greatly been studied in the literature; both static and dynamic techniques have been used to aid in the debugging, maintenance, parallelization, program integration, and dataflow testing of programs. We explain how to apply conventional intraprocedural static analysis to binary executables for the purposes of static analysis of machine code and assembly code, such as debugging code and determining the instructions that affect an indexed jump or an indirect call on a register. This analysis is useful in the decoding of machine instructions phase of reverse engineering tools of binary executables, such as binary translators, disassemblers, binary profilers and binary debuggersKeywords
This publication has 20 references indexed in Scilit:
- Slicing programs with arbitrary control-flowPublished by Springer Nature ,2005
- Decompilation of binary programsSoftware: Practice and Experience, 1995
- Rewriting executable files to measure program behaviorSoftware: Practice and Experience, 1994
- Binary translationCommunications of the ACM, 1993
- Undecidability of static analysisACM Letters on Programming Languages and Systems, 1992
- Interprocedural slicing using dependence graphsACM Transactions on Programming Languages and Systems, 1990
- The program dependence graph and its use in optimizationACM Transactions on Programming Languages and Systems, 1987
- Programmers use slices when debuggingCommunications of the ACM, 1982
- A fast algorithm for finding dominators in a flowgraphACM Transactions on Programming Languages and Systems, 1979
- A Simple Algorithm for Global Data Flow Analysis ProblemsSIAM Journal on Computing, 1975