Title :
Towards program debugging and dynamic reverse engineering using multi-procedure program dynamic decomposition
Author_Institution :
Dept. of Comput. Sci., Univ. of Tunis, Tunisia
Abstract :
The paper presents two approaches to multi-procedure program dynamic decomposition. These methods can be viewed as tools towards program debugging and dynamic reverse engineering which can help programmers in fault localization by reducing the research space susceptible to cover the fault. A binary relation is used to represent a dynamic program that consists of all the instruction occurrences executed on some input during a particular execution of the original program. The dynamic program is decomposed into portions of program called dynamic program threads which describe the dynamic behavior of the original program. A dynamic program thread contains all the executed statements that really affect one or some given variables during a real program execution. In the second approach, the paper introduces the notion of lattice of dynamic program threads, called a dynamic lattice, which defines the entire dynamic behavior of the executed program. It is also possible to describe a partial dynamic behavior of the underlying program with regard to some occurrence in the program execution path. The size of the obtained lattice, defined by the number of dynamic program threads, increases as we go on to another occurrence. So, the concept of incremental dynamic lattice is introduced which becomes saturate if all the instruction occurrences are taken into account. The saturate dynamic lattice produces a graphical representation including all possible dynamic program threads and relationships between them
Keywords :
program debugging; programming theory; reverse engineering; binary relation; dynamic lattice; dynamic program threads; dynamic reverse engineering; fault localization; graphical representation; incremental dynamic lattice; multiprocedure program dynamic decomposition; program debugging; program execution path; Computational complexity; Computer science; High-speed networks; Input variables; Lattices; Programming profession; Reverse engineering; Software debugging; Yarn;
Conference_Titel :
System Sciences, 1997, Proceedings of the Thirtieth Hawaii International Conference on
Conference_Location :
Wailea, HI
Print_ISBN :
0-8186-7743-0
DOI :
10.1109/HICSS.1997.663161