Program slicing


Program slicing is a program simplification technique in which we eliminate parts of the program that are not of interest. For example, we might produce a (backwards static) slice of a program p at a given node n and for the variables in a set V - we can eliminate any statement of p that cannot affect the values of variables in V at n. Program slicing has the potential to help wherever complexity could be a problem.

There are a number of variants on slicing. For example, we could ask for the parts of the program affected by the node of interest (forwards slicing) - something that can help in ripple analysis. We also might have additional information when we slice, such as the exact input in which we are interested (dynamic slicing) or a condition that we can place on the input (conditioned slicing). We can also allow more general transformations to be applied to the program, rather than just deleting statements (amorphous slicing).



Back to Rob Hierons' home page

Last updated: July 2006.


Disclaimer The contents of this page falls outside the responsibility of Brunel University.