Slicing; I/O and the Implicit State

Yogasundary Sivagurunathan, Mark Harman, Sebastian Danicic · 1997

Program slicing consists of deleting statements from a program, creating a reduced program, a slice, that preserves the original program's behaviour for a given set of variables at a chosen point in the program. However, some aspects of a program's semantics are not captured by a set of variables, rendering slicing inapplicable to their analysis. These aspects of the program's state shall, collectively, be termed the `implicit state'. For example, the input list supplied to a program is not denoted by a variable, rather it is part of the implicit state. It will be shown that this implicitness causes existing slicing algorithms to produce incorrect slices with respect to input. In order to solve the problem the program to be sliced will be transformed into an `explicit' version (in which all aspects of its semantics are captured by variables). The approach is also applied to a wider class of problems in which slicing is inhibited by the lack of variables upon which to form a suitable ...

Read the paper · More papers on PaperTik