search based software engineering for variability
play

Search Based Software Engineering for Variability Management Roberto - PowerPoint PPT Presentation

Search Based Software Engineering for Variability Management Roberto E. Lopez-Herrejon Systems Engineering and Automation Institute Johannes Kepler University Linz, Austria 1 Project Context FWF Lise Meitner Fellowship Named after


  1. Search Based Software Engineering for Variability Management Roberto E. Lopez-Herrejon Systems Engineering and Automation Institute Johannes Kepler University Linz, Austria 1

  2. Project Context  FWF Lise Meitner Fellowship  Named after distinguished austrian nuclear fission scientist  Sponsored by the Austrian Science Fund (FWF)  Fellowship duration: 2 years  Start date: August 2012  Personnel involved  Research fellow  Academic host: Alexander Egyed 2

  3. For this talk …  Give an overview of the project  Goals  Novel contributions  Brief description of …  Early results  Ongoing and upcoming work 3

  4. Background – Feature Models  Feature models  de facto standard to model variability  denote sets of „ valid “ feature combinations V P T M R CD C V OD P1    P2    ≡ R ecord P3      P lay P4      P5      P6      C D C ard T V M obile P7       P8       4

  5. Background – Software Evolution  Reverse Engineering  Process of analyzing a software system to identify its components and their relationships with the goal of creating a higher level abstraction of them  Software Evolution  Process of progressive changes to the software artifacts or their properties 5

  6. Background – Consistency Checking  Consistency checking  Verifies that artifacts adhere to consistency rules that describe the semantic relationships among elements  Example. UML consistency rule  Message action must be defined as an operation in receiver's class. consistent Streamer  : Service : Streamer store store() 6

  7. Project Big Picture 7

  8. Relation with workshop …? 8

  9. Problems Addressed 9

  10. Problem 1 Fixing inconsistencies in the presence of variability Software Artifacts Feature Model Products ... ... ... 10

  11. Problem 1 – Example How can this instance be fixed ? VOD Define store in CD Define store in Record Record Play Define store in TV and Mobile Define store in Play Define store in VOD CD Card TV Mobile What if … ? Incorrect message name – start  : Service : Streamer Incorrect message target store Streamer Incorrect feature ascription setup() Instances overlap start() … Feature Record Feature CD 11

  12. Problem 2  Reverse Engineering of Variability  Most common scenario from products variants to a SPL 12

  13. Problem 3  Variability Evolution  Adding new features, new members of the product family, modifications Feature Model ... ... ... 13

  14. Early Results Reverse Engineering Feature Models from Product Configurations (SBSE 2012) Collaboration with University of Seville David Benavides, Jose Galindo, Sergio Segura, Jose Parejo 14

  15. Problem Pictorial View Feature Sets Feature Model A B C ... N   ... Reverse   Engineering ...    ... ...   ... ...    ... non trivial    ... error prone ... ... ... ... ... ... non unique     ... non optimal 15

  16. ETHOM Structural Encoding Example 2 9 12 0 1 6 3 10 11 5 4 7 8 0 1 2 3 4 5 6 7 8 9 10 11 12 M,0 Op,0 M,2 Alt,2 Alt,0 Alt,0 Alt,2 Alt,0 Alt,0 M,2 M,0 Op,0 Op,0 16

  17. ETHOM CTC Encoding Example 2 9 12 0 1 6 3 10 11 5 4 7 8 E,4,12 R,5,12 R,8,12 R,8,11 17

  18. Crossover — One point (1) Feature Diagram 0 4 5 7 4 0 crossover 1 3 6 5 point 1 3 6 7 2 2 0 1 2 3 4 5 6 7 Op,2 Or,1 M,0 Or,0 Alt,0 Alt,1 M,0 Op,0 Op,2 Or,1 Op,0 Or,0 Op,3 Alt,0 Alt,0 Alt,0 18

  19. Crossover — One point (1) Result  0 4 5 6 7 1 3 0 1 2 3 4 5 6 7 Op,2 Or,1 M,0 Or,0 Alt,0 Alt,0 Alt,0 Alt,0 2  4 0 5 1 3 7  0 1 2 3 4 5 6 7 2 6 Op,2 Or,1 Op,0 Or,0 Op,3 Alt,1 M,0 Op,0 19

  20. Crossover — One point (2) Cross-Tree Constraints 0 4 5 7 4 0 crossover 1 3 6 5 point 1 3 6 7 2 2 E,3,6 R,6,7 R,3,5 R,2,6 20

  21. Crossover — One point (2) Result 0 4 5 6 7 1 3 2 E,3,6 R,2,6 21

  22. Experimental Setting ETHOM 22

  23. Evaluation  Case studies  59 feature models from SPLOT repository  No. products 1...896  No. features 9 ... 27  Executions  Initial populations for each feature model were the same for the fitness functions being analysed  10 runs for each feature model for each fitness function  16 cores at 2.40 GHz, 25GB RAM, Cent OS, Java 1.6 23

  24. Pictorial View of a Generation individuals = feature models that denote tables of feature sets ... fm 1 fm 2 fm 3 fm n ... feature sets perfect fit full containment desired feature sets 24

  25. Relaxed Fitness Function  Relaxed Fitness Function – maximized FFRelaxed(sfs, fm) = | {fs : sfs | validFor(fs,fm) } | sfs = set of desired feature sets fm = feature model to evaluate fs = a feature set  Auxiliary function validFor  checks if a feature set is valid in a FM  computed with FAMA using propositional logic  Maximizes containment of desired feature sets 25

  26. FFRelaxed Results (1) Histogram Generations for Complete Containment 18 • 94,64% runs reached 16 maximum 14 • 5 generations on avg. 12 for reaching maximum Frequency 10 8 maximum not reached 6 in 25 generations 4 2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 Number of Generations 26

  27. FFRelaxed Results (2) maximum = cardinality of the desired feature sets fm i fm j fm n surplus feature sets both reached maximum desired feature sets 27

  28. FFRelaxed Results (3) Percentage Surplus Feature Sets 100000 10000 Percentage Surplus 1000 100 • avg. 2401,24% more feature sets 10 • no feature model with ≤ |sfs| 1 0 100 200 300 400 500 600 700 800 900 1000 Number of Feature Sets Surplus(sfs,fm) = #products(fm) - |sfs| x 100 |sfs| 28

  29. Ongoing work  Analyzing other fitness functions  Finer comparison granularity  Comparison with local search approaches  Extension to HeuristicLab platform  Studying variability-aware chromosome operators  Crossover and mutation  Extensions to feature model encodings  Based on genetic programming 29

  30. http://www.sea.uni-linz.ac.at/sbse4vm/ 30

  31. Acknowledgements 31

Recommend


More recommend