Slicing Objects Using System Dependence Graphs


We present a system dependence graph for object-oriented software that is more precise than previous representations and is more efficient to construct than previous approaches. The system dependence graph distinguishes data members for different objects, provides a way to represent object parameters, represents the effects of polymorphism on parameters and parameter bindings, represents incomplete programs efficiently, and provides a way to represent class libraries. Based on this system dependence graph, we introduce the concept of object slicing and an algorithm to implement this concept. Object slicing enables the user to inspect the statements in the slice, object-by object, and is helpful for debugging and impact analysis.

Related research categories:
(1) Program Analysis
(2) Data Flow
(3) Object-Oriented
(4) Slicing
(5) Testing

Go To Publications