Semantic History Slicing
Yi Li, Julia Rubin, and Marsha Chechik
In Handbook of Re-Engineering Software Intensive Systems into Software Product Lines, 2022
Abstract: Feature location techniques aim to locate software artifacts that implement a specific program functionality, a.k.a. a feature. In this chapter, we introduce a technique called semantic history slicing, to locate features in software version histories. The key insight is that the information embedded in version histories can be used to establish a connection between features and changes implementing the features. We present the formal definitions as well as the general principles of semantic history slicing and provide details on a specific history slicing algorithm based on change dependency analysis. The identified feature implementing changes are fully functional and guaranteed to preserve the desired behaviors.