Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3646548.3672593acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article
Open access

Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature Tracing

Published: 02 September 2024 Publication History

Abstract

Tracing features to software artifacts is a crucial yet challenging activity for developers of variability-intensive software projects. Developers can provide feature traces either proactively in a manual and rarely semi-automated way or recover them retroactively where automated approaches mainly rely on heuristics. While proactive tracing promises high reliability as developers know which features they realize when working on them, the task is cumbersome and without immediate benefit. Conversely, automated retroactive tracing offers high automation by employing heuristics but remains unreliable and dependent on the quality of the heuristic. To exploit the benefits of proactive and retroactive tracing while mitigating their drawbacks, this paper examines how providing a minimal seed of accurate feature traces proactively (give an inch) can boost the accuracy of automated, heuristic-based retroactive tracing (take a mile). We examine how comparison-based feature location, as one representative of retroactive feature tracing, can benefit from increasing amounts of proactively provided feature mappings. For retroactive comparison-based feature tracing, we find not only that increasing amounts of proactive information can boost the overall accuracy of the tracing but also that the number of variants available for comparison affects the effectiveness of the combined tracing. As a result, our work lays the foundations to optimize the accuracy of retroactive feature tracing techniques with pinpointed proactive knowledge exploitation.

References

[1]
Ra’Fat Al-Msie’deen, Abdelhak Seriai, Marianne Huchard, Christelle Urtado, Sylvain Vauttier, and Hamzeh Eyal Salman. 2013. Feature Location in a Collection of Software Product Variants Using Formal Concept Analysis. In Proc. Int’l Conf. on Software Reuse (ICSR), John M. Favaro and Maurizio Morisio (Eds.). Vol. 7925. Springer, 302–307.
[2]
Nasir Ali, Yann-Gael Gueheneuc, and Giuliano Antoniol. 2013. Trustrace: Mining Software Repositories to Improve the Accuracy of Requirement Traceability Links. IEEE Trans. on Software Engineering (TSE) 39, 5 (2013), 725–741.
[3]
Sofia Ananieva, Thomas Kühn, and Ralf Reussner. 2022. Preserving Consistency of Interrelated Models during View-Based Evolution of Variable Systems. In Proceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Auckland, New Zealand) (GPCE 2022). ACM, New York, NY, USA, 148–163. https://doi.org/10.1145/3564719.3568685
[4]
Michał Antkiewicz, Wenbin Ji, Thorsten Berger, Krzysztof Czarnecki, Thomas Schmorleiz, Ralf Lämmel, Stefan Stănciulescu, Andrzej Wąsowski, and Ina Schaefer. 2014. Flexible Product Line Engineering With a Virtual Platform. In Proc. Int’l Conf. on Software Engineering (ICSE). ACM, 532–535.
[5]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
[6]
Wesley Klewerton Guez Assunção and Silvia Regina Vergilio. 2014. Feature Location for Software Product Line Migration: A Mapping Study. In Proc. Int’l Workshop on Reverse Variability Engineering (REVE). ACM, 52–59.
[7]
Paul Maximilian Bittner, Alexander Schultheiß, Benjamin Moosherr, Timo Kehrer, and Thomas Thüm. 2024. Variability-Aware Differencing with DiffDetective. In Proc. Int’l Conference on the Foundations of Software Engineering (FSE). ACM, New York, NY, USA. To appear.
[8]
Paul Maximilian Bittner, Alexander Schultheiß, Thomas Thüm, Timo Kehrer, Jeffrey M. Young, and Lukas Linsbauer. 2021. Feature Trace Recording. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM, 1007–1020.
[9]
Paul Maximilian Bittner, Christof Tinnes, Alexander Schultheiß, Sören Viegener, Timo Kehrer, and Thomas Thüm. 2022. Classifying Edits to Variability in Source Code. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE). ACM, 196–208.
[10]
Goetz Botterweck and Andreas Pleuss. 2014. Evolution of Software Product Lines. In Evolving Software Systems. Springer, 265–295.
[11]
Jane Cleland-Huang, Orlena Gotel, Jane Huffman Hayes, Patrick Mäder, and Andrea Zisman. 2014. Software traceability: trends and future directions. In Proceedings of the on Future of Software Engineering, FOSE 2014 (Hyderabad, India), James D. Herbsleb and Matthew B. Dwyer (Eds.). ACM, 55–69. https://doi.org/10.1145/2593882.2593891
[12]
Daniel Cruz, Eduardo Figueiredo, and Jabier Martinez. 2019. A Literature Review and Comparison of Three Feature Location Techniques Using ArgoUML-SPL. In Proc. Int’l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, Article 16, 10 pages.
[13]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature Location in Source Code: A Taxonomy and Survey. J. Software: Evolution and Process 25, 1 (2013), 53–95.
[14]
Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In Proc. Europ. Conf. on Software Maintenance and Reengineering (CSMR). IEEE, 25–34.
[15]
Andrew David Eisenberg and Kris De Volder. 2005. Dynamic Feature Traces: Finding Features in Unfamiliar Code. In Proc. Int’l Conf. on Software Maintenance (ICSM). IEEE, 337–346.
[16]
Stefan Fischer, Lukas Linsbauer, Roberto E. Lopez-Herrejon, and Alexander Egyed. 2015. The ECCO Tool: Extraction and Composition for Clone-and-Own. In Proc. Int’l Conf. on Software Engineering (ICSE). IEEE, 665–668.
[17]
Sandra Greiner, Michael Nieke, and Christoph Seidl. 2022. Towards Trace-Based Synchronization of Variability Annotations in Evolving Model-Driven Product Lines. In Proc. Int’l Working Conf. on Variability Modelling of Software-Intensive Systems (VaMoS) (Florence, Italy). ACM, New York, NY, USA, Article 3, 10 pages. https://doi.org/10.1145/3510466.3510470
[18]
Sandra Greiner, Alexander Schultheiss, Paul Maximilian Bittner, Thomas Thüm, and Timo Kehrer. 2024. Replication Package: Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature Tracing. https://doi.org/10.5281/zenodo.12620493
[19]
Sandra Greiner and Bernhard Westfechtel. 2019. On Determining Variability Annotations In Partially Annotated Models. In Proc. Int’l Workshop on Variability Modelling of Software-Intensive Systems (VaMoS) (Leuven, Belgium). ACM, New York, NY, USA, Article 17. https://doi.org/10.1145/3302333.3302341
[20]
Florian Heidenreich, Jan Kopcsek, and Christian Wende. 2008. FeatureMapper: Mapping Features to Models. In Companion Int’l Conf. on Software Engineering (ICSEC). ACM, 943–944. Informal demonstration paper.
[21]
Philipp Heisig, Jan-Philipp Steghöfer, Christopher Brink, and Sabine Sachweh. 2019. A Generic Traceability Metamodel for Enabling Unified End-to-End Traceability in Software Product Lines. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing (Limassol, Cyprus) (SAC ’19). ACM, New York, NY, USA, 2344–2353. https://doi.org/10.1145/3297280.3297510
[22]
Wenbin Ji, Thorsten Berger, Michal Antkiewicz, and Krzysztof Czarnecki. 2015. Maintaining Feature Traceability With Embedded Annotations. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 61–70.
[23]
Huzefa Kagdi, Malcom Gethers, and Denys Poshyvanyk. 2013. Integrating Conceptual and Logical Couplings for Change Impact Analysis in Software. Empirical Software Engineering (EMSE) 18, 5 (2013), 933–969.
[24]
Christian Kästner, Sven Apel, and Martin Kuhlemann. 2008. Granularity in Software Product Lines. In Proc. Int’l Conf. on Software Engineering (ICSE). ACM, 311–320.
[25]
Christian Kästner, Alexander Dreiling, and Klaus Ostermann. 2014. Variability Mining: Consistent Semiautomatic Detection of Product-Line Features. IEEE Trans. on Software Engineering (TSE) 40, 1 (2014), 67–82.
[26]
Christian Kästner, Klaus Ostermann, and Sebastian Erdweg. 2012. A Variability-Aware Module System. In Proc. Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, 773–792.
[27]
Benjamin Klatt, Martin Küster, and Klaus Krogmann. 2013. A Graph-Based Analysis Concept to Derive a Variation Point Design From Product Copies. In Proc. Int’l Workshop on Reverse Variability Engineering (REVE). 1–8.
[28]
Rainer Koschke and Jochen Quante. 2005. On dynamic feature location. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (Long Beach, CA, USA) (ASE ’05). ACM, New York, NY, USA, 86–95.
[29]
Jacob Krüger, Thorsten Berger, and Thomas Leich. 2019. Features and How to Find Them: A Survey of Manual Feature Location. In Software Engineering for Variability Intensive Systems - Foundations and Applications. Auerbach Publications / Taylor & Francis, 153–172.
[30]
Raúl Lapeña, Manuel Ballarin, and Carlos Cetina. 2016. Towards Clone-and-Own Support: Locating Relevant Methods in Legacy Products. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 194–203.
[31]
Jörg Liebig, Sven Apel, Christian Lengauer, Christian Kästner, and Michael Schulze. 2010. An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines. In Proc. Int’l Conf. on Software Engineering (ICSE). IEEE, 105–114.
[32]
Lukas Linsbauer, Stefan Fischer, Roberto E. Lopez-Herrejon, and Alexander Egyed. 2015. Using Traceability for Incremental Construction and Evolution of Software Product Portfolios. In Proc. Int’l Symposium on Software and Systems Traceability (SST). IEEE, 57–60.
[33]
Lukas Linsbauer, Roberto Erick Lopez-Herrejon, and Alexander Egyed. 2017. Variability Extraction and Modeling for Product Variants. Software and System Modeling (SoSyM) 16, 4 (2017), 1179–1199.
[34]
Salome Maro, Jan-Philipp Steghöfer, Paolo Bozzelli, and Henry Muccini. 2022. TracIMo: a traceability introduction methodology and its evaluation in an Agile development team. Requirments Engineering 27, 1 (2022), 53–81. https://doi.org/10.1007/s00766-021-00361-5
[35]
Jabier Martinez, Wesley K. G. Assunção, and Tewfik Ziadi. 2017. ESPLA: A Catalog of Extractive SPL Adoption Case Studies. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 38–41.
[36]
Jabier Martinez, Nicolas Ordoñez, Xhevahire Tërnava, Tewfik Ziadi, Jairo Aponte, Eduardo Figueiredo, and Marco Tulio Valente. 2018. Feature Location Benchmark with ArgoUML SPL. In Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1 (Gothenburg, Sweden) (SPLC ’18). ACM, New York, NY, USA, 257–263. https://doi.org/10.1145/3233027.3236402
[37]
Jabier Martinez, Tewfik Ziadi, Tegawendé F. Bissyandé, Jacques Klein, and Yves Le Traon. 2015. Bottom-Up Adoption of Software Product Lines: A Generic and Extensible Approach. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 101–110.
[38]
Gabriela Karoline Michelon, Lukas Linsbauer, Wesley K.G. Assunção, Stefan Fischer, and Alexander Egyed. 2021. A Hybrid Feature Location Technique for Re-Engineering Single Systems Into Software Product Lines. In Proc. Int’l Working Conf. on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, Article 11, 9 pages.
[39]
Gabriela Karoline Michelon, Lukas Linsbauer, Wesley K. G. Assunção, and Alexander Egyed. 2019. Comparison-Based Feature Location in ArgoUML Variants. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 93–97.
[40]
Gabriela Karoline Michelon, Jabier Martinez, Bruno Sotto- Mayor, Aitor Arrieta, Wesley K. G. Assunção, Rui Abreu, and Alexander Egyed. 2023. Spectrum-based feature localization for families of systems. Journal of Systems and Software 195 (2023), 111532. https://doi.org/10.1016/j.jss.2022.111532
[41]
Gabriela Karoline Michelon, David Obermann, Wesley K. G. Assunção, Lukas Linsbauer, Paul Grünbacher, and Alexander Egyed. 2021. Managing Systems Evolving in Space and Time: Four Challenges for Maintenance, Evolution and Composition of Variants. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 75–80.
[42]
Gabriela K. Michelon, Bruno Sotto-Mayor, Jabier Martinez, Aitor Arrieta, Rui Abreu, and Wesley K. G. Assunção. 2021. Spectrum-Based Feature Localization: A Case Study Using ArgoUML. In Proceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A (Leicester, United Kingdom) (SPLC ’21). ACM, New York, NY, USA, 126–130. https://doi.org/10.1145/3461001.3473065
[43]
Rodrigo André Ferreira Moreira, Wesley K. G. Assunç ão, Jabier Martinez, and Eduardo Figueiredo. 2022. Open-source software product line extraction processes: the ArgoUML-SPL and Phaser cases. Empirical Software Engineering 27, 4 (2022), 85. https://doi.org/10.1007/s10664-021-10104-3
[44]
Mukelabai Mukelabai, Kevin Hermann, Thorsten Berger, and Jan-Philipp Steghöfer. 2023. FeatRacer: Locating Features Through Assisted Traceability. IEEE TSE 49, 12 (2023), 5060–5083. https://doi.org/10.1109/TSE.2023.3324719
[45]
Denys Poshyvanyk, Yann-Gael Gueheneuc, Andrian Marcus, Giuliano Antoniol, and Vaclav Rajlich. 2007. Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information Retrieval. IEEE Trans. on Software Engineering (TSE) 33, 6 (2007), 420–432.
[46]
Kamil Rosiak and Ina Schaefer. 2023. The e4CompareFramework: Annotation-based Software Product-Line Extraction. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 34–38.
[47]
Julia Rubin and Marsha Chechik. 2013. A Survey of Feature Location Techniques. In Domain Engineering: Product Lines, Languages, and Conceptual Models, Iris Reinhartz-Berger, Arnon Sturm, Tony Clark, Sholom Cohen, and Jorn Bettin (Eds.). Springer, 29–58.
[48]
Julia Rubin, Krzysztof Czarnecki, and Marsha Chechik. 2013. Managing Cloned Variants: A Framework and Experience. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 101–110.
[49]
Florian Sattler, Sebastian Böhm, Philipp Dominik Schubert, Norbert Siegmund, and Sven Apel. 2023. SEAL: Integrating Program Analysis and Repository Mining. ACM Transactions on Software Engineering and Methodology 32, 5, Article 121 (jul 2023), 34 pages. https://doi.org/10.1145/3585008
[50]
Thomas Schmorleiz and Ralf Lämmel. 2014. Similarity Management via History Annotation. In Proc. Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE). Dipartimento di Informatica Università degli Studi dell’Aquila, L’Aquila, Italy, 45–48.
[51]
Alexander Schultheiß, Paul Maximilian Bittner, Sascha El-Sharkawy, Thomas Thüm, and Timo Kehrer. 2022. Simulating the Evolution of Clone-and-Own Projects With VEVOS. In Proc. Int’l Conf. on Evaluation Assessment in Software Engineering (EASE). ACM, 231–236.
[52]
Felix Schwägerl and Bernhard Westfechtel. 2016. SuperMod: Tool Support for Collaborative Filtered Model-Driven Software Product Line Engineering. In Proc. Int’l Conf. on Automated Software Engineering (ASE). ACM, 822–827.
[53]
Janet Siegmund. 2016. Program Comprehension: Past, Present, and Future. In Proc. Int’l Conf. on Software Analysis, Evolution and Reengineering (SANER). IEEE, 13–20.
[54]
George Spanoudakis and Andrea Zisman. 2005. Software traceability: a roadmap. In Handbook of software engineering and knowledge engineering: vol 3: recent advances. World Scientific, 395–428.
[55]
Stefan Stănciulescu, Thorsten Berger, Eric Walkingshaw, and Andrzej Wąsowski. 2016. Concepts, Operations, and Feasibility of a Projection-Based Variation Control System. In Proc. Int’l Conf. on Software Maintenance and Evolution (ICSME). IEEE, 323–333.
[56]
Stefan Stănciulescu, Sandro Schulze, and Andrzej Wąsowski. 2015. Forked and Integrated Variants in an Open-Source Firmware Project. In Proc. Int’l Conf. on Software Maintenance and Evolution (ICSME). IEEE, 151–160.
[57]
Matús Sulír, Milan Nosál, and Jaroslav Porubän. 2018. Recording Concerns in Source Code Using Annotations. Computing Research Repository (CoRR) abs/1808.03576 (2018).
[58]
Anneliese von Mayrhauser, A. Marie Vans, and Adele E. Howe. 1997. Program Understanding Behaviour During Enhancement of Large-Scale Software. J. Software: Evolution and Process 9, 5 (1997), 299–327.
[59]
Alexander von Rhein, Jörg Liebig, Andreas Janker, Christian Kästner, and Sven Apel. 2018. Variability-Aware Static Analysis at Scale: An Empirical Study. ACM TOSEM 27, 4 (2018), 18:1–18:33. https://doi.org/10.1145/3280986
[60]
Neil Walkinshaw, Marc Roper, and Murray Wood. 2007. Feature Location and Extraction using Landmarks and Barriers. In Proc. Int’l Conf. on Software Maintenance (ICSM). IEEE, 54–63.
[61]
Norman Wilde and Michael C. Scully. 1995. Software Reconnaissance: Mapping Program Features to Code. J. Software Maintenance: Research and Practice 7, 1 (1995), 49–62.
[62]
David Wille, Sandro Schulze, Christoph Seidl, and Ina Schaefer. 2016. Custom-Tailored Variability Mining for Block-Based Languages. In Proc. Int’l Conf. on Software Analysis, Evolution and Reengineering (SANER). IEEE, 271–282.
[63]
Yinxing Xue, Zhenchang Xing, and Stan Jarzabek. 2012. Feature Location in a Collection of Product Variants. In Proc. Working Conf. on Reverse Engineering (WCRE). IEEE, 145–154.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SPLC '24: Proceedings of the 28th ACM International Systems and Software Product Line Conference
September 2024
103 pages
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 September 2024

Check for updates

Badges

Author Tags

  1. software evolution
  2. software product lines
  3. software variability

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • German Research Foundation

Conference

SPLC '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 155
    Total Downloads
  • Downloads (Last 12 months)155
  • Downloads (Last 6 weeks)55
Reflects downloads up to 18 Feb 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media