Upload
rafat-al-msiedeen
View
93
Download
3
Embed Size (px)
DESCRIPTION
Reverse Engineering Feature Models from Software Configurations
Citation preview
Reverse Engineering Feature Modelsfrom Software Configurations
R. AL-msie’deen, M. Huchard,A.-D. Seriai, C. Urtado, S. Vauttier
LIRMM, CNRS et Université de MontpellierLGI2P, Ecole des Mines d’Alès
France
Oct. 7-10, 2014
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 1 / 34
1 Context
2 FCA and feature model
3 Algorithm
4 Case study
5 Conclusion
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 2 / 34
Context
1 Context
2 FCA and feature model
3 Algorithm
4 Case study
5 Conclusion
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 3 / 34
Context
Product Line Engineering
Feature model
Assets Variable Architecture
Derived Products
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 4 / 34
Context
Building a productFeature selection
Selected ImplementedAssets Architecture
Product
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 5 / 34
Context
Product Line Reverse Engineering
Similar Productsdeveloped in undisciplined manner
Which Feature model?
Which Assets?Which Architecture?
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 6 / 34
Context
Software Product Line
Feature model
Assets
Variable architecture
Software systems
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 7 / 34
Context
Software Product Line Reverse Engineering (REVPLINE)
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 8 / 34
Context
Focus: building the feature model
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 9 / 34
Context
Feature model
Classical FODA model: A tree
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 10 / 34
Context
Existing approaches
Acher et al., semi-automatic approachLopez-Herrejon et al., genetic algorithmShe et al., heuristics based on textual description and given featuredependenciesZiadi et al., ad hoc algorithm, simpl. intents of Attribute ConceptsLoesch et al., FCA for understanding variabilityYang et al., FCA, pruning and merging similar concepts in the conceptlattice, uses concept specialization for subfeature relationshipsRyssel et al., FCA (AC-poset), computes FM and compleximplications, uses specialization between concepts for sub featurerelationships
→ Find automatically a simple FM model, with cross-tree constraints, nohypothetic subfeature relationships
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 11 / 34
FCA and feature model
1 Context
2 FCA and feature model
3 Algorithm
4 Case study
5 Conclusion
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 12 / 34
FCA and feature model
Using existing similar software products
Cell_
Pho
ne
Wireless
Infrared
Bluetoo
th
Accu_
Cell
Stron
g
Medium
Weak
Display
Gam
es
Multi_Player
Single_
Player
Artificial_Opp
onent
P-1 × × × × × × × ×P-2 × × × × × × × ×P-3 × × × × × × × × ×P-4 × × × × × × × ×P-5 × × × × × × ×P-6 × × × × × × ×P-7 × × × × × × × × ×P-8 × × × × × × × × ×P-9 × × × × × × × × × ×P-10 × × × × × × ×P-11 × × × × × × × × ×P-12 × × × × × × × × ×P-13 × × × × × × × × × ×P-14 × × × × × × × × × ×P-15 × × × × × × × × × ×P-16 × × × × × × × × × × ×
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 13 / 34
FCA and feature model
What reveals FCA: Mandatory features
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 14 / 34
FCA and feature model
Features always appearing together
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 15 / 34
FCA and feature model
Implications, with different possible semantics
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 16 / 34
FCA and feature model
Mutually exclusive, with different possible semantics
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 17 / 34
FCA and feature model
Mutually exclusive, with different possible semantics
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 18 / 34
FCA and feature model
From FCA information to the feature model
Used similar software systems are only examples of possible productsand may contain flawsOnly hypotheses can be found in the concept lattice or AOC-posetFor each extracted knowledge, one has to choose wether:
it will be in the tree orit will be encoded into cross-tree constraints
Choose the form of the tree (which kind of nodes, how many levels)
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 19 / 34
Algorithm
1 Context
2 FCA and feature model
3 Algorithm
4 Case study
5 Conclusion
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 20 / 34
Algorithm
Extracting base features
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 21 / 34
Algorithm
Extracting AND feature nodes
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 22 / 34
Algorithm
Extracting XOR feature node
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 23 / 34
Algorithm
Extracting OR feature node
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 24 / 34
Algorithm
Extracting require cross-tree constraints
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 25 / 34
Algorithm
Extracting exclude cross-tree constraints
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 26 / 34
Algorithm
The resulting feature model
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 27 / 34
Case study
1 Context
2 FCA and feature model
3 Algorithm
4 Case study
5 Conclusion
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 28 / 34
Case study
Case study
Derived products from existing SPLExisting feature models for expert comparisonCorrectness (precision / recall) is evaluated by comparing productsgenerated by the computed FM and initial products
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 29 / 34
Case study
Results
Group of Features CTCs Evaluation Metrics
# case study Num
berof
Produ
cts
Num
berof
Features
Base
Atomic
Set
ofFeatures
Inclusive-or
Exclusive-or
Requires
Excludes
Execution
times
(inms)
Precision
Recall
F-M
easure
1 ArgoUML-SPL 20 11 × × × 509 60% 100% 75%3 Graph product line 8 18 × × × × × 551 62% 100% 76%4 Berkeley DB 10 43 × × × × × × 661 50% 100% 66%2 Mobile media 8 18 × × × 441 68% 100% 80%3 Health complaint-SPL 10 16 × × × × 439 57% 100% 72%4 Video on demand 16 12 × × × × 572 66% 100% 80%5 Wiki engines 8 21 × × × × × × 555 54% 100% 70%7 Wikipedia 10 14 × × × × 552 72% 100% 84%5 Mobile phone 5 5 × × × 406 70% 100% 82%6 DC motor 10 15 × × 444 83% 100% 90%7 Cell phone-SPL 16 13 × × × × × × 486 51% 100% 68%
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 30 / 34
Conclusion
1 Context
2 FCA and feature model
3 Algorithm
4 Case study
5 Conclusion
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 31 / 34
Conclusion
Conclusion
A method which computes a simple FM model from productconfigurationsAdmits all initial product configurationsFocused on logical organizationWith cross-tree constraintsNo hypothetic sub-feature relationships
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 32 / 34
Conclusion
Perspectives
Use information from source code and FCA for extracting sub-features(tree structure)Improve XOR computation (compute several)Compute covering sets of featuresDefine several alternative orders for computing the tree and evaluatethem on the case study
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 33 / 34
Conclusion
Thank you!
R. AL-msie’deen et al. (LIRMM-LGI2P) Feature Models Oct. 7-10, 2014 34 / 34