I am a co-investigator on the GUSTT project. Program slicing simplifies systems by focusing upon a subcomponent of the overall system behaviour. Program transformation allows programs to be manipulated syntactically without affecting their behaviour. Both technologies have been applied successfully (but separately) to problems in software engineering. However, slicing often produces rather large slices (because of the high level of interdependence between program subcomponents) and effective transformation strategies have proved hard to define (because of the sheer size of the `applicable transformation space').
GUSTT aims to overcome these difficulties by combining slicing with transformation to achieve practical algorithms for amorphous slicing. We also investigate the theory and applications of amorphous slicing to comprehension, reuse, testing and debugging.