Spectrum-based feature localization: a case study using ArgoUML

Feature localization (FL) is a basic activity in re-engineering legacy systems into software product lines. In this work, we explore the use of the Spectrum-based localization technique for this task. This technique is traditionally used for fault localization but with practical applications in other tasks like the dynamic FL approach that we propose. The ArgoUML SPL benchmark is used as a case study and we compare it with a previous hybrid (static and dynamic) approach from which we reuse the manual and testing execution traces of the features. We conclude that it is feasible and sound to use the Spectrum-based approach providing promising results in the benchmark metrics.

[1]  Jabier Martinez,et al.  Insights on software product line extraction processes: ArgoUML to ArgoUML-SPL revisited , 2020, SPLC.

[2]  Jacob Krüger,et al.  Facing the Truth: Benchmarking the Techniques for the Evolution of Variant-Rich Systems , 2019, SPLC.

[3]  Rui Abreu,et al.  Framing program comprehension as fault localization , 2016, J. Softw. Evol. Process..

[4]  Philippe Collet,et al.  Mapping features to automatically identified object-oriented variability implementations: the case of ArgoUML-SPL , 2020, VaMoS.

[5]  Alexander Egyed,et al.  Reengineering legacy applications into software product lines: a systematic mapping , 2017, Empirical Software Engineering.

[6]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[7]  Eduardo Figueiredo,et al.  A Literature Review and Comparison of Three Feature Location Techniques using ArgoUML-SPL , 2019, VaMoS.

[8]  Rui Abreu,et al.  Pangolin: An SFL-Based Toolset for Feature Localization , 2019, 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[9]  Alexander Egyed,et al.  Automated test reuse for highly configurable software , 2020, Empir. Softw. Eng..

[10]  Marsha Chechik,et al.  A Survey of Feature Location Techniques , 2013, Domain Engineering, Product Lines, Languages, and Conceptual Models.

[11]  Alexander Egyed,et al.  Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[12]  Michael D. Ernst,et al.  Evaluating and Improving Fault Localization , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).

[13]  John T. Stasko,et al.  Visualization of test information to assist fault localization , 2002, ICSE '02.

[14]  Martin Monperrus,et al.  Learning to Combine Multiple Ranking Metrics for Fault Localization , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[15]  Jacob Krüger,et al.  An empirical analysis of the costs of clone- and platform-oriented software reuse , 2020, ESEC/SIGSOFT FSE.

[16]  Alexander Egyed,et al.  A Hybrid Feature Location Technique for Re-engineeringSingle Systems into Software Product Lines , 2021, VaMoS.

[17]  Marco Tulio Valente,et al.  Feature location benchmark with argoUML SPL , 2018, SPLC.

[18]  Rui Abreu,et al.  A Survey on Software Fault Localization , 2016, IEEE Transactions on Software Engineering.

[19]  Marco Tulio Valente,et al.  Extracting Software Product Lines: A Case Study Using Conditional Compilation , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[20]  Rui Abreu,et al.  A diagnosis-based approach to software comprehension , 2014, ICPC 2014.

[21]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[22]  A.J.C. van Gemund,et al.  On the Accuracy of Spectrum-based Fault Localization , 2007, Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007).

[23]  Richard Müller,et al.  A Graph-Based Feature Location Approach Using Set Theory , 2019, SPLC.