FHISTORIAN: LOCATING FEATURES IN VERSION HISTORIES
Yi Li, Chenguang Zhu, Julia Rubin, and Marsha Chechik
In Proceedings of the 21st International Systems and Software Product Line Conference, SPLC 2017
Abstract: Feature location techniques aim to locate software artifacts that implement a specific program functionality, a.k.a. a feature. In this paper, we build upon the previous work of semantic history slicing to locate features in software version histories. We leverage the information embedded in version histories for identifying changes implementing features and discovering relationships between features. The identified feature changes are fully functional and guaranteed to preserve the desired behaviors. The resulting feature relationship graph is precise and can be used to assist in understanding of the underlying connections between the features.
We evaluate the technique on a number of real-world case studies and compare our results with developer-specified feature annotations. We conclude that, when available, historical information of software changes can lead to precise identification of features in existing software artifacts.