Modelling equivalence classes of feature models with concept lattices to assist their extraction from product descriptions

Abstract Software product line engineering gathers a set of methods to help create, manage and maintain a collection of similar software systems. Variability modelling is a focal point of this paradigm, where feature models (FMs) are the prevalent notation. Migration from single system development to software product lines is a spreading topic in software engineering. To ease the migration, research has been done to automatically extract FMs from software descriptions, but most of these approaches are defined in a functional manner based on an ad-hoc variability analysis. In this paper, we propose a theoretical view on FM extraction from software descriptions based on Formal Concept Analysis (FCA). It is a structural framework for variability representation which allows to lay down theoretical foundation to variability extraction. We propose an original mapping between relationships expressed in FMs and the ones emphasised in FCA conceptual structures. We show that conceptual structures represent equivalence classes of FMs that steer the user choices during their synthesis, and propose a reverse engineering method based on them. We discuss its applicability and show that the combinatorial explosion of concept lattices can be avoided by the use of two sub-orders embodying the necessary information concerning variability.

[1]  Jeff Z. Pan,et al.  Ontology Reasoning for Consistency-Preserving Structural Modelling , 2013 .

[2]  Houari A. Sahraoui,et al.  Recovering software product line architecture of a family of object-oriented product variants , 2017, J. Syst. Softw..

[3]  Mathieu Acher,et al.  FAMILIAR: A domain-specific language for large scale management of feature models , 2013, Sci. Comput. Program..

[4]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[5]  F. Loesch,et al.  Restructuring Variability in Software Product Lines using Concept Analysis of Product Configurations , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[6]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2014, Inf. Softw. Technol..

[7]  Sergei O. Kuznetsov,et al.  Comparing performance of algorithms for generating concept lattices , 2002, J. Exp. Theor. Artif. Intell..

[8]  Amedeo Napoli,et al.  Hermes: a simple and efficient algorithm for building the AOC-poset of a binary relation , 2014, Annals of Mathematics and Artificial Intelligence.

[9]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[10]  Krzysztof Czarnecki,et al.  An Exploratory Study of Cloning in Industrial Software Product Lines , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[11]  Mathieu Acher,et al.  Support for reverse engineering and maintaining feature models , 2013, VaMoS.

[12]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[13]  Wiebke Petersen,et al.  A Set-Theoretical Approach for the Induction of Inheritance Hierarchies , 2004, FGMOL.

[14]  Abdelhak-Djamel Seriai,et al.  Mining Features from the Object-Oriented Source Code of a Collection of Software Variants Using Formal Concept Analysis and Latent Semantic Indexing , 2013, SEKE.

[15]  Abdelhak-Djamel Seriai,et al.  Reverse Engineering Feature Models from Software Configurations using Formal Concept Analysis , 2014, CLA.

[16]  Sergio Segura,et al.  An assessment of search-based techniques for reverse engineering feature models , 2015, J. Syst. Softw..

[17]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[18]  Alexander Egyed,et al.  Reverse Engineering Feature Models from Programs' Feature Sets , 2011, 2011 18th Working Conference on Reverse Engineering.

[19]  Uta Priss Formal concept analysis in information science , 2006 .

[20]  Jan Bosch,et al.  First class feature abstractions for product derivation , 2004, IEE Proc. Softw..

[21]  Alexander Egyed,et al.  Feature Model Synthesis with Genetic Programming , 2014, SSBSE.

[22]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[23]  Mathieu Acher,et al.  Breathing ontological knowledge into feature model synthesis: an empirical study , 2015, Empirical Software Engineering.

[24]  Nan Niu,et al.  Concept analysis for product line requirements , 2009, AOSD '09.

[25]  Clémentine Nebut,et al.  FCA for Software Product Lines Representation: Mixing Product and Characteristic Relationships in a Unique Canonical Representation , 2016, CLA.

[26]  Mathieu Acher,et al.  Feature model extraction from large collections of informal product descriptions , 2013, ESEC/FSE 2013.

[27]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[28]  Zhenchang Xing,et al.  Feature Location in a Collection of Product Variants , 2012, 2012 19th Working Conference on Reverse Engineering.

[29]  Mathieu Acher,et al.  On extracting feature models from product descriptions , 2012, VaMoS.

[30]  Sergei O. Kuznetsov,et al.  On interestingness measures of formal concepts , 2016, Inf. Sci..

[31]  Klaus Schmid,et al.  A comparison of decision modeling approaches in product lines , 2011, VaMoS.

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

[33]  C. Urtado,et al.  Concept lattices: A representation space to structure software variability , 2014, 2014 5th International Conference on Information and Communication Systems (ICICS).

[34]  Alexander Egyed,et al.  On Extracting Feature Models from Sets of Valid Feature Combinations , 2013, FASE.

[35]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

[36]  Mathieu Acher,et al.  Automated extraction of product comparison matrices from informal product descriptions , 2017, J. Syst. Softw..

[37]  Mathieu Acher,et al.  From comparison matrix to Variability Model: The Wikipedia case study , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[38]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[39]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

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

[41]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[42]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[43]  Klaus Kabitzsch,et al.  Extraction of feature models from formal contexts , 2011, SPLC '11.