by Gabriela K. Michelon, David Obermann, Wesley K. G. Assunção, Lukas Linsbauer, Paul Grünbacher, Alexander Egyed
Abstract:
Highly-Configurable Software Systems (HCSSs) support the systematic evolution of systems in space, i.e., the inclusion of new features, which then allow users to configure software products according to their needs. However, HCSSs also change over time, e.g., when adapting existing features to new hardware or platforms. In practice, HCSSs are thus developed using both version control systems (VCSs) and preprocessor directives. However, the use of a preprocessor as variability mechanismhas been criticized regarding the separation of concerns and code obfuscation, which complicates the analysis of HCSS evolution in VCSs. For instance, a single commit may contain changes of totally unrelated features, which may be scattered over many variation points, thus making the evolution history hard to understand. This complexity often leads to error-prone changes and high costs for maintenance and evolution. In this paper, we propose an automated approach to mine HCSS features taking into account evolution in space and time. Our approach uses constraint satisfaction problem solving to mine newly introduced, removed and changed features. It finds a configuration containing the feature revisions which are needed to activate a specific program location. Furthermore, it increments the revision number of each changed feature. Thus, our approach enables to analyze when and which features often change over time, as well as their interactions, for every single commit of a HCSS. Our approach can contribute to future research on understanding the characteristics of HCSS and supporting developers during maintenance and evolution tasks.
Reference:
Mining Feature Revisions in Highly-Configurable Software Systems (Gabriela K. Michelon, David Obermann, Wesley K. G. Assunção, Lukas Linsbauer, Paul Grünbacher, Alexander Egyed), In Proceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B, Association for Computing Machinery, 2020.
Bibtex Entry:
@Conference{DBLP:conf/splc/MichelonVariVolutionWorkshop20,
author = {Gabriela K. Michelon and David Obermann and Wesley K. G. Assunção and Lukas Linsbauer and Paul Grünbacher and Alexander Egyed},
booktitle = {Proceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B},
title = {Mining Feature Revisions in Highly-Configurable Software Systems},
year = {2020},
address = {New York, NY, USA},
pages = {74–78},
publisher = {Association for Computing Machinery},
series = {SPLC '20},
abstract = {Highly-Configurable Software Systems (HCSSs) support the systematic evolution of systems in space, i.e., the inclusion of new features, which then allow users to configure software products according to their needs. However, HCSSs also change over time, e.g., when adapting existing features to new hardware or platforms. In practice, HCSSs are thus developed using both version control systems (VCSs) and preprocessor directives. However, the use of a preprocessor as variability mechanismhas been criticized regarding the separation of concerns and code
obfuscation, which complicates the analysis of HCSS evolution in
VCSs. For instance, a single commit may contain changes of totally
unrelated features, which may be scattered over many variation points, thus making the evolution history hard to understand. This complexity often leads to error-prone changes and high costs for maintenance and evolution. In this paper, we propose an automated approach to mine HCSS features taking into account evolution in space and time. Our approach uses constraint satisfaction problem solving to mine newly introduced, removed and changed features. It finds a configuration containing the feature revisions which are needed to activate a specific program location. Furthermore, it increments the revision number of each changed feature. Thus, our approach enables to analyze when and which features often change over time, as well as their interactions, for every single commit of a HCSS. Our approach can contribute to future research on understanding the characteristics of HCSS and supporting developers during maintenance and evolution tasks.},
doi = {10.1145/3382026.3425776},
file = {:Conferences/ACM 2020 - Mining Feature Revisions inHighly-Configurable Software Systems/Mining Feature Revisions inHighly-Configurable Software Systems-preprint.pdf:PDF},
isbn = {9781450375702},
keywords = {LIT Secure and Correct Systems Lab},
location = {Montreal, QC, Canada},
numpages = {5},
url = {https://doi.org/10.1145/3382026.3425776},
}