by Gabriela K. Michelon, Lukas Linsbauer, Wesley K. G. Assunção, Stefan Fischer, Alexander Egyed
Abstract:
Software product lines (SPLs) are known for improving productivityand reducing time-to-market through the systematic reuse of assets.SPLs are adopted mainly by re-engineering existing system vari-ants. Feature location techniques (FLTs) support the re-engineeringprocess by mapping the variants’ features to their implementation.However, such FLTs do not perform well when applied to singlesystems. In this way, there is a lack of FLTs to aid the re-engineeringprocess of a single system into an SPL. In this work, we presenta hybrid technique that consists of two complementary types ofanalysis: i) a dynamic analysis by runtime monitoring traces ofscenarios in which features of the system are exercised individually,and ii) a static analysis for refining overlapping traces. We evaluateour technique on three subject systems by computing the commonmetrics used in FL research. We thus computed Precision, Recall,and F-Score at the line- and method-level of source code. In additionto that, one of the systems has a ground truth available, which wealso used for comparing results. Results show that our FLT reachedan average of 68-78% precision and 72-81% recall on two systemsat the line-level, and 67-65% precision and 68-48% recall at themethod-level. In these systems, most of the implementation can becovered by the exercise of the features. For the largest system, ourtechnique reached a precision of up to 99% at the line-level, 94%at the method-level, and 44% when comparing to traces. However,due to its size, it was difficult to reach high code coverage duringexecution, and thus the recall obtained was on average of 28% atthe line-level, 25% at the method-level, and 30% when comparingto traces. The main contribution of this work is a hybrid FLT, itspublicly available implementation, and a replication package forcomparisons and future studies.
Reference:
A Hybrid Feature Location Technique for Re-engineering Single Systems into Software Product Lines (Gabriela K. Michelon, Lukas Linsbauer, Wesley K. G. Assunção, Stefan Fischer, Alexander Egyed), In VaMoS'21: 15th International Working Conference on Variability Modelling of Software-Intensive Systems, Virtual Event / Krems, Austria, February 9-11, 2021 (Paul Grünbacher, Christoph Seidl, Deepak Dhungana, Helena Lovasz-Bukvova, eds.), ACM, 2021.
Bibtex Entry:
@conference{DBLP:conf/vamos/MichelonLA0E21,
author = {Gabriela K. Michelon and Lukas Linsbauer and Wesley K. G. Assunção and Stefan Fischer and Alexander Egyed},
booktitle = {VaMoS'21: 15th International Working Conference on Variability Modelling of Software-Intensive Systems, Virtual Event / Krems, Austria, February 9-11, 2021},
title = {A Hybrid Feature Location Technique for Re-engineering Single Systems into Software Product Lines},
year = {2021},
editor = {Paul Grünbacher and Christoph Seidl and Deepak Dhungana and Helena Lovasz-Bukvova},
pages = {11:1--11:9},
publisher = {{ACM}},
abstract = {Software product lines (SPLs) are known for improving productivityand reducing time-to-market through the systematic reuse of assets.SPLs are adopted mainly by re-engineering existing system vari-ants. Feature location techniques (FLTs) support the re-engineeringprocess by mapping the variants’ features to their implementation.However, such FLTs do not perform well when applied to singlesystems. In this way, there is a lack of FLTs to aid the re-engineeringprocess of a single system into an SPL. In this work, we presenta hybrid technique that consists of two complementary types ofanalysis: i) a dynamic analysis by runtime monitoring traces ofscenarios in which features of the system are exercised individually,and ii) a static analysis for refining overlapping traces. We evaluateour technique on three subject systems by computing the commonmetrics used in FL research. We thus computed Precision, Recall,and F-Score at the line- and method-level of source code. In additionto that, one of the systems has a ground truth available, which wealso used for comparing results. Results show that our FLT reachedan average of 68-78% precision and 72-81% recall on two systemsat the line-level, and 67-65% precision and 68-48% recall at themethod-level. In these systems, most of the implementation can becovered by the exercise of the features. For the largest system, ourtechnique reached a precision of up to 99% at the line-level, 94%at the method-level, and 44% when comparing to traces. However,due to its size, it was difficult to reach high code coverage duringexecution, and thus the recall obtained was on average of 28% atthe line-level, 25% at the method-level, and 30% when comparingto traces. The main contribution of this work is a hybrid FLT, itspublicly available implementation, and a replication package forcomparisons and future studies.},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/conf/vamos/MichelonLA0E21.bib},
doi = {10.1145/3442391.3442403},
file = {:Workshops/VAMOS 2021 - A Hybrid Featrure Location Technique for Re-engineering Single Systems into Software Product Lines/A Hybrid Feature Location Technique for Re-engineeringSingle Systems into Software Product Lines-preprint.pdf:PDF},
keywords = {LIT Secure and Correct Systems Lab, FWF P31989, Pro2Future},
timestamp = {Fri, 12 Feb 2021 10:43:42 +0100},
url = {https://doi.org/10.1145/3442391.3442403},
}