analysis of feature models using alloy - a survey

24
Introduction Background Review method and evaluation Future research and conclusion Analysis of Feature Models using Alloy A survey Anjali Sree-Kumar, Elena Planas, Robert Clarisó SOM Research Lab Open University of Catalonia, Barcelona ETAPS - 3rd April @ FMSPLE’16 Workshop, Eindhoven 1 / 24

Upload: anjali-sreekumar

Post on 13-Apr-2017

47 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Analysis of Feature Models using AlloyA survey

Anjali Sree-Kumar, Elena Planas, Robert Clarisó

SOM Research LabOpen University of Catalonia, Barcelona

ETAPS - 3rd April @ FMSPLE’16 Workshop, Eindhoven

1 / 24

Page 2: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Agenda

1 IntroductionFMs & SPLFM analysis &automated toolsPurpose of this survey

2 BackgroundRelated surveys &selected papersBenchmark featuremodel

Alloy semanticsFM analysis operations

3 Review method andevaluation

Threats to validityApproach usedFindings

4 Future research andconclusion

2 / 24

Page 3: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

FMs & SPLFM analysis & automated toolsPurpose of this survey

Definition - SPL

3 / 24

Page 4: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

FMs & SPLFM analysis & automated toolsPurpose of this survey

Definition - FM

4 / 24

Page 5: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

FMs & SPLFM analysis & automated toolsPurpose of this survey

Why FM analysis ?

FM analysis helps in :1 detecting inconsistencies2 identifying dead features3 identifying redundancies4 optimizing FMs ... and many more ...

5 / 24

Page 6: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

FMs & SPLFM analysis & automated toolsPurpose of this survey

FM analysis tool - Why Alloy ?

There are no standard text representations for FM.FM formal specifications must be manually created fromtextual requirements.Alloy - lightweight modeling notation with model finder.FM specification can be in Alloy notation.

6 / 24

Page 7: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

FMs & SPLFM analysis & automated toolsPurpose of this survey

Purpose of this survey

Evaluate the State-of-the-art by reviewing 9 relevantpapers.Characterize the strengths and weaknesses of variousAlloy encoding approaches from the following perspectivesfor all the 9 papers :

1 Ease of reproducing the research results.2 Expressiveness of the FM.3 Efficiency of the analysis.4 Existence of tool support.

7 / 24

Page 8: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Existing surveys in literature

Published research papers with similar survey information

2010 Benavides et al. - Automated analysis of feature models 20years later : A literature review

2014 Thüm et al. - A Classification and Survey of AnalysisStrategies for Software Product Lines

2015 Lesta et al. - Detecting and Explaining Conflicts inAttributed Feature Models

8 / 24

Page 9: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Papers selected for the review[2005] Wang et al. : Formal Semantics and Verification for FeatureModeling[2006] Gheyi et al. : A Theory for Feature Models in Alloy[2008] Tanizaki et al. : Formalization and Consistency Checking ofChanges of Software System Configurations Using Alloy[2010] Nakajima et al. : Semi-automated Diagnosis of FODA FeatureDiagram[2011] Finkel et al. : Reasoning about conditional constraintspecification problems and feature models[2012] Ripon et al. : Modeling and Analysis of Product line Variants[2013] Huang et al. : Using Alloy to support feature based DSLconstruction for mining software repositories[2013] Jamie et al. : Supporting Multilevel Configuration with FeatureSolution Graphs Formal Semantics and Alloy[2015] Ajoudanian et al. : Automatic promotional specialization,generalization and analysis of extended feature models withcardinalities in Alloy Implementation

9 / 24

Page 10: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Benchmark : bCMS (reconstructed in FeatureIDE tool)

This is a case study originating in the http://cserg0.site.uottawa.ca/cma2013models/ "ComparingModeling Approaches" at MODELS 2013, which has been used in several other papers as a benchmark FM.

10 / 24

Page 11: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Alloy example

abstract sig Workshop { }sig Person { }one sig FMSPLE extends Workshop{ audience: set Person }fact { some FMSPLE.audience };

11 / 24

Page 12: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Alloy semantics

Constructs Description

Signature sig A set of objects of the same type.Eg. sig Featuresig Feature1 extends Feature

Function fun A named expression with 0 or more argu-ments and a declaration expression for theresult.Eg. fun satisfyNot[form:Form,c:Configuration]: Bool {Not[form.f.satisfy[c]] }

12 / 24

Page 13: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Alloy semantics (cont.)

Constructs Description

Fact fact A constraint that is assumed to hold inany instance of the model, e.g. a well-formedness rule of the model.Eg. fact { no f: Feature|f in f.^ parent }

Predicatepred

A named constraint with 0 or more argu-ments.Eg. pred findInstance[ ] {some featureModel }run findInstance for 25

13 / 24

Page 14: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Alloy semantics (cont.)

Constructs Description

Assertionassert

A constraint that should follow from thefacts of the model.Eg. assert conflictsShow{ onefm:FM | fm = featureModeland (no f:Feature | f inconflicts[featureModel])}check conflictsShow

14 / 24

Page 15: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Related surveys & selected papersBenchmark feature modelAlloy semanticsFM analysis operations

Operations

15 / 24

Page 16: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Threats to validity

Coverage of literature databases :excluded DBLP and Google Scholar.included recent related surveys and the references to andfrom those papers.

Search strings used :search based on abstract and keywords.excluded titles and some special keywords like ’automatedFM analysis’.

Limitations of the case study FM :not comparable to realistic large scale FMs from actualindustry.cannot quantify the scalability and ease-of-use of differentAlloy encoding for such realistic FMs.

16 / 24

Page 17: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Review process

17 / 24

Page 18: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Findings - Encoding families

Two major categories of encoding :1 Propositional logic based encoding : Relationships are

encoded as formulas

2 Encoding based on Alloy constructs : Relationships areencoded in Alloy constructs

18 / 24

Page 19: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Findings - Pros & Cons

Ability to reason about number of valid product instancesSize or the total number of lines in the Alloy specificationsfor large FMs : this varies depending on the encodingcategoryReadability of the Alloy specifications/encodingDegree of expressiveness

19 / 24

Page 20: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Findings - Execution time

We were unable to reproduce the results of Ajoudanianbecause of the following roadblocks :

Syntax errors in the encodingInvalid Alloy symbolsUndefined variables

20 / 24

Page 21: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Findings - Limitations

Theoretical limitations :Only one paper supported the counting of validconfigurations.All encoding supports only trivial relationships.

Practical limitations :No tool support for generating Alloy specifications for largeFMs. Had to be done manually.Missing Alloy specifications in some of the reviewedpapers.No research results validated against very large realisticFMs.

21 / 24

Page 22: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Threats to validityApproach usedFindings

Findings - Summary

Among 30 known FM analysis operations, only 10 aresupported across the 9 research works.There are no automated tools for translating naturallanguage specifications or CNF specifications to Alloyencoding.Unable to validate the results provided in some researchpapers * for our case study on bCMS FM.Manual encodings one order of magnitude faster thanautomatic encodingsFew families of closely related encodings

22 / 24

Page 23: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Future research and conclusion

Research on the possibility of Alloy being able to supportall the remaining analysis operations.Emphasized the importance of automated tool support forconverting FM diagrams to Alloy notations.Identified the limitations of the available research resultsand its application in our case study.Highlighted the importance of future research onautomated FM analysis using Alloy.

23 / 24

Page 24: Analysis of Feature Models using Alloy - A survey

IntroductionBackground

Review method and evaluationFuture research and conclusion

Thank you

Thank you for your attention !

Contact : Anjali Sree-KumarEmail : [email protected]

Case study Alloy source files URL :

https://www.dropbox.com/s/wysbls64ictoofm/Alloy.zip?dl=0

24 / 24