FCA for software product line representation: Mixing configuration and feature relationships in a unique canonical representation

Software Product Line Engineering (SPLE) is a software engineering domain in which families of similar softwares (called products) are built reusing common artifacts. This requires to analyze common-alities and variabilities, for example to detect which parts are common to several products and which parts differ from one product to another. Such software characteristics that may be present or not in a product are called features. Several approaches in the literature exist to organize features and product configurations in terms of features. In this paper we review those approaches and show that concept lattices are a relevant structure to organize features and product configurations. We also address scaling issues related to formal context computation in the domain of SPLE.

[1]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

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

[3]  Klaus Schmid,et al.  A customizable approach to full lifecycle variability management , 2004, Sci. Comput. Program..

[4]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

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

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

[7]  Karell Bertet,et al.  Lattices, closures systems and implication bases: A survey of structural aspects and algorithms , 2016, Theor. Comput. Sci..

[8]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

[10]  Houari A. Sahraoui,et al.  Recovering Architectural Variability of a Family of Product Variants , 2015, ICSR.

[11]  Danna Zhou,et al.  d. , 1934, Microbial pathogenesis.

[12]  Andrzej Skowron,et al.  On-Demand Generation of AOC-Posets: Reducing the Complexity of Conceptual Navigation , 2017, ISMIS.

[13]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[14]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[15]  J. Bordat Calcul pratique du treillis de Galois d'une correspondance , 1986 .

[16]  Jonas Poelmans,et al.  Formal Concept Analysis in Knowledge Discovery: A Survey , 2010, ICCS.

[17]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2012, SPLC '12.

[18]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[19]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[20]  Hafedh Mili,et al.  Linking relational concept analysis and variability model within context modeling of context-aware applications , 2016, 2016 IEEE International Symposium on Systems Engineering (ISSE).

[21]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

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

[23]  StummeGerd,et al.  Computing iceberg concept lattices with TITANIC , 2002 .

[24]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[25]  Clémentine Nebut,et al.  Analyzing Variability in Product Families through Canonical Feature Diagrams , 2017, SEKE.

[26]  Clémentine Nebut,et al.  Graph-Based Variability Modelling: Towards a Classification of Existing Formalisms , 2019, ICCS.

[27]  Amedeo Napoli,et al.  Relational concept analysis: mining concept lattices from multi-relational data , 2013, Annals of Mathematics and Artificial Intelligence.

[28]  Camille Salinesi,et al.  Constraints: The Heart of Domain and Application Engineering in the Product Lines Engineering Strategy , 2012, Int. J. Inf. Syst. Model. Des..

[29]  Clémentine Nebut,et al.  Feature Model Composition Assisted by Formal Concept Analysis , 2017, ENASE.

[30]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[31]  Marianne Huchard,et al.  Variability Representation in Product Lines using Concept Lattices: Feasibility Study with Descriptions from Wikipedia's Product Comparison Matrices , 2015, FCA&A@ICFCA.

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

[33]  Mathieu Acher,et al.  Comparing Approaches to Implement Feature Model Composition , 2010, ECMFA.

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

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

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

[37]  Yiming Yang,et al.  Domain Feature Model Recovery from Multiple Applications Using Data Access Semantics and Formal Concept Analysis , 2009, 2009 16th Working Conference on Reverse Engineering.

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

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

[40]  Antonio Ruiz Cortés,et al.  A First Step Towards a Framework for the Automated Analysis of Feature Models , 2006 .

[41]  Abdelhak-Djamel Seriai,et al.  Feature-to-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval , 2013, 2013 IEEE 14th International Conference on Information Reuse & Integration (IRI).

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

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

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

[45]  Antonio Ruiz Cortés,et al.  Using Constraint Programming to Reason on Feature Models , 2005, SEKE.

[46]  Peter Becker,et al.  A Survey of Formal Concept Analysis Support for Software Engineering Activities , 2005, Formal Concept Analysis.

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

[48]  Mathieu Acher,et al.  Composing Feature Models , 2009, SLE.

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

[50]  Robert Godin,et al.  Lattice model of browsable data spaces , 1986, Inf. Sci..

[51]  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).

[52]  Sébastien Ferré,et al.  Reconciling Expressivity and Usability in Information Access : from File Systems to the Semantic Web , 2014 .

[53]  Clémentine Nebut,et al.  Modelling equivalence classes of feature models with concept lattices to assist their extraction from product descriptions , 2019, J. Syst. Softw..

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

[55]  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.

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

[57]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007, 11th International Software Product Line Conference (SPLC 2007).