Concept lattices: A representation space to structure software variability

Formal Concept Analysis is a theoretical framework which structures a set of objects described by properties. Formal Concept Analysis is a classification technique that takes data sets of objects and their attributes, and extracts relations between these objects according to the attributes they share. This structure reveals and categorizes commonalities and variability in a canonical form. From this canonical form, other structures can be derived, that can be more or less complex. In this paper, we revisit two papers from the literature of the software product line domain. We point to key contributions and limits of the representation of variability by concept lattices, with illustrative examples. We present tools to implement the approach and open a discussion.

[1]  Claudio Carpineto,et al.  Exploiting the Potential of Concept Lattices for Information Retrieval with CREDO , 2004, J. Univers. Comput. Sci..

[2]  Euripides G. M. Petrakis,et al.  X-Similarity: Computing Semantic Similarity between Concepts from Different Ontologies , 2006, J. Digit. Inf. Manag..

[3]  Rokia Missaoui,et al.  Formal Concept Analysis for Knowledge Discovery and Data Mining: The New Challenges , 2004, ICFCA.

[4]  Hafedh Mili,et al.  Building and maintaining analysis-level class hierarchies using Galois Lattices , 1993, OOPSLA '93.

[5]  Abdelhak-Djamel Seriai,et al.  Reengineering Software Product Variants Into Software Product Line: REVPLINE Approach , 2014 .

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

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

[8]  Gerd Stumme,et al.  Ontology Merging for Federated Ontologies on the Semantic Web , 2001, OIS@IJCAI.

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

[10]  Abdelhak-Djamel Seriai,et al.  Mining features from the object-oriented source code of software variants by combining lexical and structural similarity , 2013, 2013 IEEE 14th International Conference on Information Reuse & Integration (IRI).

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

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

[13]  Tewfik Ziadi,et al.  Feature Identification from the Source Code of Product Variants , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[14]  Abdelhak-Djamel Seriai,et al.  Feature Location in a Collection of Software Product Variants Using Formal Concept Analysis , 2013, ICSR.

[15]  Marianne Huchard,et al.  Performances of Galois Sub-hierarchy-building Algorithms , 2007, ICFCA.

[16]  C. Urtado,et al.  An approach to recover feature models from object-oriented source code , 2013 .

[17]  Nicolas Anquetil,et al.  A Catalog of Patterns for Concept Lattice Interpretation in Software Reengineering , 2012, SEKE.

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

[19]  Slawomir Duszynski,et al.  A scalable goal-oriented approach to software variability recovery , 2011, SPLC '11.

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

[21]  Christoph Pohl,et al.  An Exploratory Study of Information Retrieval Techniques in Domain Analysis , 2008, 2008 12th International Software Product Line Conference.

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

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

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

[25]  Amedeo Napoli,et al.  Hermes: an Efficient Algorithm for Building Galois Sub-hierarchies , 2012, CLA.

[26]  Mathieu Acher,et al.  Reverse Engineering Architectural Feature Models , 2011, ECSA.