Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3302333.3302343acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

A Literature Review and Comparison of Three Feature Location Techniques using ArgoUML-SPL

Published: 06 February 2019 Publication History

Abstract

Over the last decades, the adoption of Software Product Line (SPL) engineering for supporting software reuse has increased. An SPL can be extracted from one single product or from a family of related software products, and feature location strategies are widely used for variability mining. Several feature location strategies have been proposed in the literature and they usually aim to map a feature to its source code implementation. In this paper, we present a systematic literature review that identifies and characterizes existing feature location strategies. We also evaluated three different strategies based on textual information retrieval in the context of the ArgoUML-SPL feature location case study. In this evaluation, we compare the strategies based on their ability to correctly identify the source code of several features from ArgoUML-SPL ground truth. We then discuss the strengths and weaknesses of each feature location strategy.

References

[1]
Bram Adams, Zhen Ming Jiang, and Ahmed E Hassan. 2010. Identifying crosscutting concerns using historical code changes. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1. ACM, 305--314.
[2]
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 Safe and Secure Software Reuse - 13th International Conference on Software Reuse, ICSR 2013, Pisa, Italy, June 18-20. Proceedings (Lecture Notes in Computer Science), Vol. 7925. Springer, 302--307.
[3]
Giuliano Antoniol and Yann-Gaël Guéhéneuc. 2005. Feature identification: a novel approach and a case study. In null. IEEE, 357--366.
[4]
Wesley Klewerton Guez Assunção and Silvia Regina Vergilio. 2014. Feature location for software product line migration: a mapping study. In 18th International Software Product Lines Conference - Companion Volume for Workshop, Tools and Demo papers, SPLC '14, Florence, Italy, September 15-19, 2014. ACM, 52--59.
[5]
Yoshua Bengio, Réjean Ducharme, Pascal Vincent, and Christian Janvin. 2003. A Neural Probabilistic Language Model. J. Mach. Learn. Res. 3 (March 2003), 1137--1155. http://dl.acm.org/citation.cfm?id=944919.944966
[6]
David Binkley and Dawn Lawrie. 2010. Information retrieval applications in software development. Encyclopedia of Software Engineering (2010), 231--242.
[7]
David M Blei, Andrew Y Ng, and Michael I Jordan. 2003. Latent dirichlet allocation. Journal of machine Learning research 3, Jan (2003), 993--1022.
[8]
Johannes Bohnet and Juergen Doellner. 2008. Analyzing dynamic call graphs enhanced with program state information for feature location and understanding. In Companion of the 30th international conference on Software engineering. ACM, 915--916.
[9]
Kunrong Chen and Václav Rajlich. 2000. Case study of feature location using dependence graph. In Program Comprehension, 2000. Proceedings. IWPC 2000. 8th International Workshop on. IEEE, 241--247.
[10]
Christopher S Corley, Kostadin Damevski, and Nicholas A Kraft. 2015. Exploring the use of deep learning for feature location. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 556--560.
[11]
Christopher S Corley, Kelly L Kashuda, and Nicholas A Kraft. 2015. Modeling changeset topics for feature location. In Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on. IEEE, 71--80.
[12]
Marcus Vinicius Couto, Marco Tulio Valente, and Eduardo Figueiredo. 2011. Extracting Software Product Lines: A Case Study Using Conditional Compilation. In 15th European Conference on Software Maintenance and Reengineering, CSMR 2011, 1-4 March 2011, Oldenburg, Germany. IEEE Computer Society, 191--200.
[13]
Florian Deissenboeck and Markus Pizka. 2006. Concise and consistent naming. Software Quality Journal 14, 3 (2006), 261--282.
[14]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. Journal of software: Evolution and Process 25, 1 (2013), 53--95.
[15]
S. T. Dumais, G. W. Furnas, T. K. Landauer, S. Deerwester, and R. Harshman. 1988. Using Latent Semantic Analysis to Improve Access to Textual Information. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '88). ACM, New York, NY, USA, 281--285.
[16]
Marc Eaddy, Alfred V Aho, Giuliano Antoniol, and Yann-Gaël Guéhéneuc. 2008. Cerberus: Tracing requirements to source code using information retrieval, dynamic analysis, and program analysis. In Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on. Ieee, 53--62.
[17]
Thomas Eisenbarth, Rainer Koschke, and Daniel Simon. 2003. Locating features in source code. IEEE Transactions on software engineering 29, 3 (2003), 210--224.
[18]
Andrew David Eisenberg and Kris De Volder. 2005. Dynamic feature traces: Finding features in unfamiliar code. In Software Maintenance, 2005. ICSM'05. Proceedings of the 21st IEEE International Conference on. IEEE, 337--346.
[19]
Christopher Fox. 1992. Information Retrieval. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, Chapter Lexical Analysis and Stoplists, 102--130. http://dl.acm.org/citation.cfm?id=129687.129694
[20]
Daiki Fujioka and Naoya Nitta. 2017. Constraints Based Approach to Interactive Feature Location. In Software Maintenance and Evolution (ICSME), 2017 IEEE International Conference on. IEEE, 499--503.
[21]
Gregory Gay, Sonia Haiduc, Andrian Marcus, and Tim Menzies. 2009. On the use of relevance feedback in IR-based concept location. In Software Maintenance, 2009. ICSM 2009. IEEE International Conference on. IEEE, 351--360.
[22]
Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.
[23]
Christian Kästner, Alexander Dreiling, and Klaus Ostermann. 2011. Variability mining with leadt. Tec. Rep., Philipps Univ. Marburg (2011).
[24]
Christian Kästner, Alexander Dreiling, and Klaus Ostermann. 2014. Variability mining: Consistent semi-automatic detection of product-line features. IEEE Transactions on Software Engineering 40, 1 (2014), 67--82.
[25]
Barbara Kitchenham. 2004. Procedures for performing systematic reviews. Keele, UK, Keele University 33, 2004 (2004), 1--26.
[26]
Rainer Koschke and Jochen Quante. 2005. On dynamic feature location. In Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering. ACM, 86--95.
[27]
Charles W. Krueger. 2001. Easing the Transition to Software Mass Customization. In Software Product-Family Engineering, 4th International Workshop, PFE 2001, Bilbao, Spain, October 3-5, 2001, Revised Papers (Lecture Notes in Computer Science), Frank van der Linden (Ed.), Vol. 2290. Springer, 282--293.
[28]
Raúl Lapeña, Jaime Font, Francisca Pérez, and Carlos Cetina. 2016. Improving feature location by transforming the query from natural language into requirements. In Proceedings of the 20th International Systems and Software Product Line Conference. ACM, 362--369.
[29]
Quoc V. Le and Tomas Mikolov. 2014. Distributed Representations of Sentences and Documents. CoRR abs/1405.4053 (2014). arXiv:1405.4053 http://arxiv.org/abs/1405.4053
[30]
Yi Li, Chenguang Zhu, Julia Rubin, and Marsha Chechik. 2017. FHistorian: Locating Features in Version Histories. In Proceedings of the 21st International Systems and Software Product Line Conference-Volume A. ACM, 49--58.
[31]
Jianhua Lin. 1991. Divergence measures based on the Shannon entropy. IEEE Transactions on Information theory 37, 1 (1991), 145--151.
[32]
Dapeng Liu, Andrian Marcus, Denys Poshyvanyk, and Vaclav Rajlich. 2007. Feature location via information retrieval based filtering of a single scenario execution trace. In Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering. ACM, 234--243.
[33]
Ana C Marcén, Jaime Font, Óscar Pastor, and Carlos Cetina. 2017. Towards feature location in models through a learning to rank approach. In Proceedings of the 21st International Systems and Software Product Line Conference-Volume B. ACM, 57--64.
[34]
Jabier Martinez, Wesley K. G. Assunção, and Tewfik Ziadi. 2017. ESPLA: A Catalog of Extractive SPL Adoption Case Studies. In Proceedings of the 21st International Systems and Software Product Line Conference, SPLC 2017, Volume B, Sevilla, Spain, September 25-29, 2017. ACM, 38--41.
[35]
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 Proceeedings of the 22nd International Conference on Systems and Software Product Line - Volume 1, SPLC 2018, Gothenburg, Sweden, September 10-14, 2018. ACM, 257--263.
[36]
Jabier Martinez, Tewfik Ziadi, Mike Papadakis, Tegawendé F Bissyandé, Jacques Klein, and Yves Le Traon. 2018. Feature location benchmark for extractive software product line adoption research using realistic and synthetic Eclipse variants. Information and Software Technology 104 (2018), 46--59.
[37]
Maxime Ouellet, Ettore Merlo, Neset Sozen, and Martin Gagnon. 2012. Locating features in dynamically configured avionics software. In Proceedings of the 34th International Conference on Software Engineering. IEEE Press, 1453--1454.
[38]
Xin Peng, Zhenchang Xing, Xi Tan, Yijun Yu, and Wenyun Zhao. 2011. Iterative context-aware feature location (NIER track). In Proceedings of the 33rd International Conference on Software Engineering. ACM, 900--903.
[39]
Denys Poshyvanyk and Andrian Marcus. 2007. Combining formal concept analysis with information retrieval for concept location in source code. In null. IEEE, 37--48.
[40]
Mohammad Masudur Rahman and Chanchal K Roy. 2017. Improved query reformulation for concept location using CodeRank and document structures. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, 428--439.
[41]
Mohammad Masudur Rahman and Chanchal K Roy. 2017. STRICT: Information retrieval based search term identification for concept location. In Software Analysis, Evolution and Reengineering (SANER), 2017 IEEE 24th International Conference on. IEEE, 79--90.
[42]
Abdul Razzaq, Asanka Wasala, Chris Exton, and Jim Buckley. 2018. The State of Empirical Evaluation in Static Feature Location. ACM Trans. Softw. Eng. Methodol. 28, 1, Article 2 (Dec. 2018), 58 pages.
[43]
Radim Rehurek and Petr Sojka. 2010. Software Framework for Topic Modelling with Large Corpora. In IN PROCEEDINGS OF THE LREC 2010 WORKSHOP ON NEW CHALLENGES FOR NLP FRAMEWORKS. 45--50.
[44]
Meghan Revelle, Bogdan Dit, and Denys Poshyvanyk. 2010. Using data fusion and web mining to support feature location in software. In Program Comprehension (ICPC), 2010 IEEE 18th International Conference on. IEEE, 14--23.
[45]
Abhishek Rohatgi, Abdelwahab Hamou-Lhadj, and Juergen Rilling. 2008. An approach for mapping features to code based on static and dynamic analysis. In Program Comprehension, 2008. ICPC 2008. The 16th IEEE International Conference on. IEEE, 236--241.
[46]
Julia Rubin and Marsha Chechik. 2012. Locating distinguishing features using diff sets. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. ACM, 242--245.
[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]
Trevor Savage, Meghan Revelle, and Denys Poshyvanyk. 2010. FLAT 3: feature location and textual tracing tool. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 2. ACM, 255--258.
[49]
Kai Ming Ting. 2010. Precision and Recall. Springer US, Boston, MA, 781--781.
[50]
Tassio Vale and Eduardo Santana de Almeida. 2018. Experimenting with information retrieval methods in the recovery of feature-code SPL traces. Empirical Software Engineering(2018), 1--41.
[51]
Neil Walkinshaw, Marc Roper, and Murray Wood. 2007. Feature location and extraction using landmarks and barriers. In Software Maintenance, 2007. ICSM 2007. IEEE International Conference on. IEEE, 54--63.
[52]
Jinshui Wang, Xin Peng, Zhenchang Xing, and Wenyun Zhao. 2013. Improving feature location practice with multi-faceted interactive exploration. In Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, 762--771.
[53]
Norman Wilde and Michael C Scully. 1995. Software reconnaissance: Mapping program features to code. Journal of Software Maintenance: Research and Practice 7, 1 (1995), 49--62.
[54]
Zhenchang Xing, Yinxing Xue, and Stan Jarzabek. 2013. A large scale linux-kernel based benchmark for feature location research. In Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, 1311--1314.
[55]
Anis Yousefi and Kamran Sartipi. 2011. Identifying distributed features in SOA by mining dynamic call trees. In Software Maintenance (ICSM), 2011 27th IEEE International Conference on. IEEE, 73--82.

Cited By

View all
  • (2024)Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature TracingProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672593(84-95)Online publication date: 2-Sep-2024
  • (2024)Software product lines and features from the perspective of set theory with an application to feature locationJournal of Systems and Software10.1016/j.jss.2023.111938210:COnline publication date: 1-Apr-2024
  • (2024)VaryMinions: leveraging RNNs to identify variants in variability-intensive systems’ logsEmpirical Software Engineering10.1007/s10664-024-10473-529:4Online publication date: 15-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '19: Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems
February 2019
116 pages
ISBN:9781450366489
DOI:10.1145/3302333
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • FWO: Fund for Scientific Research - Flanders (Belgium)
  • FNRS: Fonds National de la Recherche Scientifique

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 February 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. benchmark
  2. feature location
  3. reverse engineering
  4. software product lines
  5. variability mining

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

VAMOS '19

Acceptance Rates

VaMoS '19 Paper Acceptance Rate 14 of 24 submissions, 58%;
Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature TracingProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672593(84-95)Online publication date: 2-Sep-2024
  • (2024)Software product lines and features from the perspective of set theory with an application to feature locationJournal of Systems and Software10.1016/j.jss.2023.111938210:COnline publication date: 1-Apr-2024
  • (2024)VaryMinions: leveraging RNNs to identify variants in variability-intensive systems’ logsEmpirical Software Engineering10.1007/s10664-024-10473-529:4Online publication date: 15-Jun-2024
  • (2023)Natural Language–Based Conceptual Modelling Frameworks: State of the Art and Future OpportunitiesACM Computing Surveys10.1145/359659756:1(1-26)Online publication date: 15-May-2023
  • (2023)Guiding Feature Models Synthesis from User-Stories: An Exploratory ApproachProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571797(65-70)Online publication date: 25-Jan-2023
  • (2023)Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00035(284-295)Online publication date: Mar-2023
  • (2023)Phylogenetic Analysis of Reticulate Software Evolution2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR)10.1109/MSR59073.2023.00074(498-510)Online publication date: May-2023
  • (2023)Spectrum-based feature localization for families of systemsJournal of Systems and Software10.1016/j.jss.2022.111532195:COnline publication date: 1-Jan-2023
  • (2022)Features, believe it or not!Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3546989(32-42)Online publication date: 12-Sep-2022
  • (2022)Evolving software system families in space and time with feature revisionsEmpirical Software Engineering10.1007/s10664-021-10108-z27:5Online publication date: 30-May-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media