Feature location in models through a genetic algorithm driven by information retrieval techniques

In this work we propose a feature location approach that targets models as the feature realization artifacts. The approach combines Genetic Algorithms and Information Retrieval techniques. Given a model and a feature description, model fragments extracted from the model are evolved using genetic operations. Then, Formal Concept Analysis is used to cluster the model fragments based on their common attributes into feature realization candidates. Finally, Latent Semantic Analysis is used to rank the candidates based on the similarity with the feature description. As a result, the genetic algorithm evolves the population of model fragments to find the set of most suitable feature realizations. We have evaluated the approach with an industrial case study, locating features with precision and recall values around 90% (baseline obtains less than 40%). Finally, we provide recommendations on how to provide the input to the approach to improve the location of features over the models.

[1]  Jaime Font,et al.  Automating the variability formalization of a model family by means of common variability language , 2015, SPLC.

[2]  Meir M. Lehman,et al.  A Paradigm for the Behavioural Modelling of Software Processes using System Dynamics , 2001 .

[3]  SaltonGerard,et al.  Term-weighting approaches in automatic text retrieval , 1988 .

[4]  Jacques Klein,et al.  Bottom-up adoption of software product lines: a generic and extensible approach , 2015, SPLC.

[5]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[6]  Jaime Font,et al.  Building software product lines from conceptualized model patterns , 2015, SPLC.

[7]  Jaime Font,et al.  Feature Location in Model-Based Software Product Lines Through a Genetic Algorithm , 2016, ICSR.

[8]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[9]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[10]  Kyo Chul Kang,et al.  Experience Report on Using a Domain Model-Based Extractive Approach to Software Product Line Asset Development , 2009, ICSR.

[11]  Stephan M. Winkler,et al.  Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications , 2009 .

[12]  Birger Møller-Pedersen,et al.  Developing a Software Product Line for Train Control: A Case Study of CVL , 2010, SPLC.

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

[14]  Sandro Schulze,et al.  Interface variability in family model mining , 2013, SPLC '13 Workshops.

[15]  Birgit Vogel-Heuser,et al.  Family model mining for function block diagrams in automation software , 2014, SPLC '14.

[16]  Dirk Muthig,et al.  Refactoring a legacy component for reuse in a software product line: a case study , 2006, J. Softw. Maintenance Res. Pract..

[17]  Birger Møller-Pedersen,et al.  Model Comparison to Synthesize a Model-Driven Software Product Line , 2011, 2011 15th International Software Product Line Conference.

[18]  Gerard Salton,et al.  Term-Weighting Approaches in Automatic Text Retrieval , 1988, Inf. Process. Manag..

[19]  Birger Møller-Pedersen,et al.  Augmenting Product Lines , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[20]  Kangtae Kim,et al.  Building Software Product Line from the Legacy Systems "Experience in the Digital Audio and Video Domain" , 2007, 11th International Software Product Line Conference (SPLC 2007).

[21]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[22]  Marsha Chechik,et al.  Combining Related Products into Product Lines , 2012, FASE.

[23]  Nostrand Reinhold,et al.  the utility of using the genetic algorithm approach on the problem of Davis, L. (1991), Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York. , 1991 .

[24]  Patrick F. Reidy An Introduction to Latent Semantic Analysis , 2009 .

[25]  Dirk Muthig,et al.  Refactoring a legacy component for reuse in a software product line: a case study: Practice Articles , 2006 .