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

search based software engineering for variability
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

Search Based Software Engineering for Variability Management

Roberto E. Lopez-Herrejon

Systems Engineering and Automation Institute Johannes Kepler University Linz, Austria

slide-2
SLIDE 2

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
slide-3
SLIDE 3

3

For this talk …

  • Give an overview of the project
  • Goals
  • Novel contributions
  • Brief description of …
  • Early results
  • Ongoing and upcoming work
slide-4
SLIDE 4

4

Background – Feature Models

  • Feature models
  • de facto standard to model variability
  • denote sets of „valid“ feature combinations

VOD Play TV Mobile Record CD Card V P T M R CD C P1    P2    P3      P4      P5      P6      P7       P8      

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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.

: Streamer : Service store

store()

Streamer 

consistent

slide-7
SLIDE 7

7

Project Big Picture

slide-8
SLIDE 8

8

Relation with workshop …?

slide-9
SLIDE 9

9

Problems Addressed

slide-10
SLIDE 10

10

Problem 1

Fixing inconsistencies in the presence of variability

Software Artifacts Feature Model ... ... ... Products

slide-11
SLIDE 11

11

Problem 1 – Example

VOD Play TV Mobile Record CD Card

: Streamer : Service store

Feature CD Feature Record

How can this instance be fixed ?

Define store in CD Define store in Record Define store in TV and Mobile Define store in Play Define store in VOD

What if … ?

Incorrect message name – start 

setup() start() Streamer

Incorrect message target Incorrect feature ascription Instances overlap …

slide-12
SLIDE 12

12

Problem 2

  • Reverse Engineering of Variability
  • Most common scenario from products variants to a SPL
slide-13
SLIDE 13

13

Problem 3

  • Variability Evolution
  • Adding new features, new members of the product family,

modifications

Feature Model ... ... ...

slide-14
SLIDE 14

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

slide-15
SLIDE 15

15

Problem Pictorial View

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

slide-16
SLIDE 16

16

ETHOM Structural Encoding Example

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

1 2 3 4 5 6 7 8 9 10 11 12

slide-17
SLIDE 17

17

ETHOM CTC Encoding Example

1 2 3 4 5 6 7 8 9 10 11 12

E,4,12 R,5,12 R,8,12 R,8,11

slide-18
SLIDE 18

18

Crossover — One point (1) Feature Diagram

4 5 7 1 3 6 2 4 5 7 1 3 6 2 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 crossover point 1 2 3 4 5 6 7

slide-19
SLIDE 19

19

Crossover — One point (1) Result

4 1 3 2 5 7 6 Op,2 Or,1 M,0 Or,0 Alt,0 Alt,0 Alt,0 Alt,0 1 2 3 4 5 6 7 Alt,1 M,0 Op,0 Op,2 Or,1 Op,0 Or,0 Op,3 1 2 3 4 5 6 7 4 5 7 1 3 6 2

 

slide-20
SLIDE 20

20

Crossover — One point (2) Cross-Tree Constraints

4 5 7 1 3 6 2 4 5 7 1 3 6 2 E,3,6 R,6,7 R,3,5 R,2,6 crossover point

slide-21
SLIDE 21

21

Crossover — One point (2) Result

4 1 3 2 5 7 6 E,3,6 R,2,6

slide-22
SLIDE 22

22

Experimental Setting

ETHOM

slide-23
SLIDE 23

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
slide-24
SLIDE 24

24

Pictorial View of a Generation

...

fm1 fm2 fm3 fmn desired feature sets

individuals = feature models that denote tables of feature sets feature sets

perfect fit full containment

...

slide-25
SLIDE 25

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
slide-26
SLIDE 26

26

FFRelaxed Results (1)

2 4 6 8 10 12 14 16 18 1 3 5 7 9 11 13 15 17 19 21 23 25 Frequency Number of Generations

Histogram Generations for Complete Containment

  • 94,64% runs reached

maximum

  • 5 generations on avg.

for reaching maximum

maximum not reached in 25 generations

slide-27
SLIDE 27

27

FFRelaxed Results (2)

fmi fmj fmn desired feature sets

maximum = cardinality of the desired feature sets feature sets

both reached maximum

surplus

slide-28
SLIDE 28

28

FFRelaxed Results (3)

1 10 100 1000 10000 100000 100 200 300 400 500 600 700 800 900 1000 Percentage Surplus

Number of Feature Sets

Percentage Surplus Feature Sets

Surplus(sfs,fm) = #products(fm) - |sfs| x 100 |sfs|

  • avg. 2401,24% more

feature sets

  • no feature model

with ≤ |sfs|

slide-29
SLIDE 29

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
slide-30
SLIDE 30

30

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

slide-31
SLIDE 31

31

Acknowledgements