Title :
Backward conditioning: a new program specialisation technique and its application to program comprehension
Author :
Fox, Chris ; Harman, Mark ; Hierons, Rob ; Danicic, Sebastian
Author_Institution :
King´´s Coll., London Univ., UK
Abstract :
This paper introduces backward conditioning. Like forward conditioning (used in conditioned slicing), backward conditioning consists of specialising a program with respect to a condition inserted into the program. However, whereas forward conditioning deletes statements which are not executed when the initial state satisfies the condition, backward conditioning deletes statements which cannot cause execution to enter a state which satisfies the condition. The relationship between backward and forward conditioning is reminiscent of the relationship between backward and forward slicing. Forward conditioning addresses program comprehension questions of the form `what happens if the program starts in a state satisfying condition c?`, whereas backward conditioning addresses questions of the form `what parts of the program could potentially lead to the program arriving in a state satisfying condition c?´ The paper illustrates the use of backward conditioning as a program comprehension assistant and presents an algorithm for constructing backward conditioned programs
Keywords :
program slicing; reverse engineering; backward conditioning; conditioned slicing; forward conditioning; program comprehension; program specialisation; Educational institutions; Programming profession; Temperature;
Conference_Titel :
Program Comprehension, 2001. IWPC 2001. Proceedings. 9th International Workshop on
Conference_Location :
Toronto, Ont.
Print_ISBN :
0-7695-1131-7
DOI :
10.1109/WPC.2001.921717