Feature location in a collection of software product variants using formal concept analysis

67 %
33 %
Information about Feature location in a collection of software product variants using...
Software

Published on July 24, 2014

Author: THEEMPERORRAFAT

Source: slideshare.net

Description

Feature location in a collection of software
product variants using formal concept analysis

Feature Location In a Collection of Software Product Variants Using Formal Concept Analysis R. AL-msie’deen+, A.-D. Seriai+, M. Huchard+, C. Urtado∗, S. Vauttier∗ and H. Eyal Salman+ +LIRMM / CNRS & Montpellier 2 University, France Al-msiedee, Seriai, huchard, eyalsalman@lirmm.fr ∗LGI2P / Ecole des Mines d’Al`es, Nˆımes, France Christelle.Urtado, Sylvain.Vauttier@mines-ales.fr June 20, 2013 R. AL-msie’deen et al. Feature Location June 20, 2013 1 / 24

Overview Introduction Feature Location Approach Experimentation Related work Conclusion Perspectives References R. AL-msie’deen et al. Feature Location June 20, 2013 2 / 24

Introduction: Companies usually develop a set of software variants that share some features and differ in other ones to meet specific needs of customers. To exploit existing software variants to build a software product line (SPL), the first step is to mine the feature model of this SPL. To do so, it is necessary to mine optional and mandatory features. R. AL-msie’deen et al. Feature Location June 20, 2013 3 / 24

Introduction: Figure 1 : Feature location in a collection of software product variants R. AL-msie’deen et al. Feature Location June 20, 2013 4 / 24

Feature Location (FL) Approach: Goal and Core Assumptions Features versus Object-oriented Building Elements Features versus OBEs: The Mapping Model Identifying the common features and optional features using FCA Feature Location Process An Illustrative Example R. AL-msie’deen et al. Feature Location June 20, 2013 5 / 24

Goal and Core Assumptions: In our work each software product variant PN is abstracted as a set of Object-oriented Building Elements (OBEs). Object-oriented Building Elements = package, class, attribute, method, local variable, attribute access, method invocation. R. AL-msie’deen et al. Feature Location June 20, 2013 6 / 24

Goal and Core Assumptions: We consider that a feature corresponds to one and only one set of OBEs. So the feature always has the same implementation in all product variants where it is present. We also consider that feature implementations may overlap: a given OBE can be shared between several features’ implementations. In our approach, we name such shared OBE as a junction. R. AL-msie’deen et al. Feature Location June 20, 2013 7 / 24

Features versus Object-oriented Building Elements: Feature location in a collection of software variants consists in identifying a group of OBEs that constitutes its implementation. Our proposal consists in dividing the OBE set in specific subsets: the common feature set also called common block (CB) and several optional feature sets (Block of Variation, denoted as BVs). Optional (resp. common) features appear in some but not all (resp. all) variants, they are implemented by OBEs that appear in some but not in all (resp. all) variants. R. AL-msie’deen et al. Feature Location June 20, 2013 8 / 24

Features versus OBEs: The Mapping Model R. AL-msie’deen et al. Feature Location June 20, 2013 9 / 24

Identifying the CB and BVs via FCA: The technique used to identify the CB and BVs relies on FCA. FCA is a classification technique that takes data sets of objects (software variants) and their attributes (OBEs), and extracts relations between these objects according to the attributes they share. Then, the corresponding Attribute-Object-Concept poset (AOC-poset) is calculated. R. AL-msie’deen et al. Feature Location June 20, 2013 10 / 24

Identifying the CB and BVs via FCA: In the AOC-poset: The intent of the most general (i.e., top) concept gathers OBEs that are common to all products. They constitute the CB. The intents of all remaining concepts are BVs. They gather sets of OBEs common to a subset of products and correspond to the implementation of one or more features. The extent of each of these concepts is the set of products having these OBEs in common. R. AL-msie’deen et al. Feature Location June 20, 2013 11 / 24

Feature Location Process: Figure 2 : Feature Location Process. R. AL-msie’deen et al. Feature Location June 20, 2013 12 / 24

An Illustrative Example: Text Editor Variants Software Variants Features Editor 1 Core (Open, Close, Print) Editor 2 Core, Select-all Editor 3 Core, Copy, Paste Editor 4 Core, Select-all, Copy, Paste Figure 3 : Text Editor variants described by their features (left) and feature model (right). R. AL-msie’deen et al. Feature Location June 20, 2013 13 / 24

An Illustrative Example: Text Editor Variants Figure 4 : The Formal Context (left) and AOC-poset (right) for Text Editor Variants. R. AL-msie’deen et al. Feature Location June 20, 2013 14 / 24

Experimentation: Case Study Feature Location Result Evaluation R. AL-msie’deen et al. Feature Location June 20, 2013 15 / 24

Case Study: Table 1 : ArgoUML-SPL Product # Product Description LOC NOP NOC NOOBE P1 All optional features disabled 82,924 55 1,243 74,444 P2 All optional features enabled 120,348 81 1,666 100,420 P3 Only Logging disabled 118,189 81 1,666 98,988 P4 Only Cognitive disabled 104,029 73 1,451 89,273 P5 Only Sequence diagram disabled 114,969 77 1,608 96,492 P6 Only Use case diagram disabled 117,636 78 1,625 98,468 P7 Only Deployment diagram disabled 117,201 79 1,633 98,323 P8 Only Collaboration diagram disabled 118,769 79 1,647 99,358 P9 Only State diagram disabled 116,431 81 1,631 97,760 P10 Only Activity diagram disabled 118,066 79 1,648 98,777 LOC (Lines of Code) NOP (Number of Packages) NOC (Number of Classes) NOOBE (Number Of Object-oriented Building Elements) R. AL-msie’deen et al. Feature Location June 20, 2013 16 / 24

Feature Location Result: Table 2 : Feature Location in ArgoUML-SPL Feature # Feature Name # OBEs Junction # Junction Name # OBEs 1 Class Diagram 74431 1 Junction cognitive/deployment 745 2 Diagram 1309 2 Junction cognitive/sequence 55 3 Use case Diagram 1928 3 Junction sequence/collaboration 111 4 Collaboration Diagram 935 4 Junction state/logging 6 5 Cognitive Diagram 10193 5 Junction deployment/logging 18 6 Activity Diagram 1583 6 Junction collaboration/logging 13 7 Deployment Diagram 1334 7 Junction use case/logging 22 8 Sequence Diagram 3708 8 Junction sequence/logging 51 9 State Diagram 2597 9 Junction activity/logging 3 10 Logging 1149 10 Junction cognitive/logging 169 11 Junction between Junctions 3/6/8 18 12 Junction activity/state 57 In Table 3 Junction means there is a tangling relation between two or more features (i.e., overlap between feature implementations). R. AL-msie’deen et al. Feature Location June 20, 2013 17 / 24

Feature Location Result: Evaluation According to Couto et al. [Couto et al., 2011] and to the feature model of the ArgoUML-SPL [Couto et al., 2011]: For each feature/junction in ArgoUML-SPL; our approach correctly retrieved all OBEs that were corresponding to this feature/junction (i.e., no missing OBE or irrelevant OBE). R. AL-msie’deen et al. Feature Location June 20, 2013 18 / 24

Related work An inclusive survey about approaches linking features and source code in a single software is proposed in [Dit et al., 2012]. Rubin et al. [Rubin and Chechik, 2012] present an approach to locate optional features from two product variants’ source code. Ziadi et al. [Ziadi et al., 2012] propose an automatic approach for feature identification from source code for a set of product variants. Their approach doesn’t consider the method body. Xue et al. [Xue et al., 2012] propose an automatic approach to identify the traceability links between software variants source code and their features based on the FCA and LSI. R. AL-msie’deen et al. Feature Location June 20, 2013 19 / 24

Conclusion: We present in this paper an approach for feature location in a collection of software product variants based on FCA. We extended this work by distinguishing between the common features that appear in the common block and the optional features that appear in the same block of variation based on the lexical similarity between object-oriented building elements using LSI and FCA 1. 1 R. AL-Msiedeen et al, Mining features from the object-oriented source code of a collection of software variants using formal concept analysis and latent semantic indexing, in 25th SEKE Conference, USA, 2013. R. AL-msie’deen et al. Feature Location June 20, 2013 20 / 24

Perspectives: We will apply a clustering algorithm on the CB and BVs to determine more precisely each feature implementation based on both lexical and structural similarity. 1 Lexical similarity = textual similarity between OBEs. 2 Structural similarity = dependency between OBEs. Inheritance. Method Invocation. Attribute Access. etc. We also plan to use the identified common and optional features to automate the building of the studied software family’s feature model. R. AL-msie’deen et al. Feature Location June 20, 2013 21 / 24

References I Couto, M. V., Valente, M. T., and Figueiredo, E. (2011). Extracting software pproduct lines: A case study using conditional compilation. In CSMR ’11 Conference, CSMR ’11, pages 191–200. IEEE Computer Society. Dit, B., Revelle, M., Gethers, M., and Poshyvanyk, D. (2012). Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process, pages 53–95. Rubin, J. and Chechik, M. (2012). Locating distinguishing features using diff sets. In 27th ASE Conference, ASE 2012, pages 242–245. ACM. Xue, Y., Xing, Z., and Jarzabek, S. (2012). Feature location in a collection of product variants. In 19th RE Conference, pages 145–154. IEEE. R. AL-msie’deen et al. Feature Location June 20, 2013 22 / 24

References II Ziadi, T., Frias, L., da Silva, M. A. A., and Ziane, M. (2012). Feature identification from the source code of product variants. In CSMR’2012, pages 417–422. R. AL-msie’deen et al. Feature Location June 20, 2013 23 / 24

Thank you for your attention R. AL-msie’deen et al. Feature Location June 20, 2013 24 / 24

Add a comment

Related presentations

Speaker: Matt Stine Developing for the Cloud Track Marc Andressen has famou...

This presentation explains how to develop a Web API in Java using (JAX-RS or Restl...

1 App,

1 App,

November 10, 2014

How to bring innovation to your organization by streamlining the deployment proces...

Cisco Call-control solutions can handle voice, video and data

Nathan Sharp of Siemens Energy recently spoke at the SAP Project Management in Atl...

Related pages

Feature location in a collection of software product ...

product variants using formal concept analysis ... Software Product Variants, Feature Location, ... Feature location in a collection of software ...
Read more

Feature Location in a Collection of Software Product ...

... Product Variants Using Formal Concept Analysis ... Feature location in a collection of product ... Software Product Variants; Feature Location; FCA;
Read more

Feature location in a collection of software product ...

Feature location in a collection of software product variants using formal concept analysis R. AL-msie’deen1 , A.-D. Seriai1 , M. Huchard1 , C. Urtado2 ...
Read more

Feature location in a collection of software product ...

Publication » Feature location in a collection of software product variants using formal concept analysis.
Read more

Feature Location in a Collection of Product Variants

Feature Location in a Collection of Product Variants ... formal concept analysis, ... of a software system is known as feature location [1]. A
Read more

Mining Feature Models from the Object-Oriented Source Code ...

... of a Collection of Software Product Variants. ... product variants using formal concept analysis ... location in a collection of product variants ...
Read more

CiteSeerX — United States (2013)" Mining Features from ...

... software product variants ... Variants Using Formal Concept Analysis and ... location in a collection of software product ...
Read more

2012 19th Working Conference on Reverse Engineering ...

... of product variants by software ... on Reverse Engineering Feature Location in a ... formal concept analysis with ...
Read more

Feature Location in a Collection of Software Product ...

... of Software Product Variants Using Formal Concept ... Feature Location in a Collection of Software Product Variants Using Formal Concept Analysis.
Read more