ABSTRACT

Program slicing is a program analysis technique. It can be used to extract the statements of a program relevant for a given computation. The concept of program slicing was introduced by Weiser in his doctoral work [1]. A program can be sliced with respect to some slicing criterion. In Weiser’s terminology, a slicing criterion is a pair 〈p, V 〉, where p is a program point of interest and V is a subset of the program variables. If we attach integer labels to all the statements of a program, then a program point of interest could be an integer i representing the label associated with a statement of the program. A slice of a programP with respect to a slicing criterion 〈p, V 〉 is defined as the set of all statements of P that might affect the values of the variables in V used or defined at the program point p. The program slicing technique introduced by Weiser [1] is now called static backward slicing. It is

and Machine Code

static in the sense that the slice is independent of the input values to the program. It is backward because the control flow of the program is considered in reverse while constructing the slice.