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.
Cite:
@inbook{Li2022SHS,
author = {Li, Yi and Rubin, Julia and Chechik, Marsha},
booktitle = {Handbook of Re-Engineering Software Intensive Systems into Software Product Lines},
doi = {10.1007/978-3-031-11686-5_3},
editor = {Lopez-Herrejon, Roberto E. and Martinez, Jabier and Guez Assun{\c{c}}{\~a}o, Wesley Klewerton and Ziadi, Tewfik and Acher, Mathieu and Vergilio, Silvia},
isbn = {978-3-031-11686-5},
pages = {53--77},
publisher = {Springer International Publishing},
title = {Semantic History Slicing},
year = {2022},
bdsk-url-1 = {https://doi.org/10.1007/978-3-031-11686-5_3}
}