By Topic

Towards program debugging and dynamic reverse engineering using multi-procedure program dynamic decomposition

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

1 Author(s)
Ammari, H. ; Dept. of Comput. Sci., Univ. of Tunis, Tunisia

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

Published in:

System Sciences, 1997, Proceedings of the Thirtieth Hawaii International Conference on  (Volume:5 )

Date of Conference:

7-10 Jan 1997