An overview of slicing techniques for object-oriented programs