Top Banner
On the Value of User Preferences in Search-Based Software Engineering: A Case Study in Software Product Lines Abdel Salam Sayyad Tim Menzies Hany Ammar West Virginia University, USA International Conference on Software Engineering May 23 rd , 2013
31

On the Value of User Preferences in Search-Based Software Engineering

May 25, 2015

Download

Education

Paper presented at the 35th International Conference in Software Engineering, San Francisco, USA. May 2013
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: On the Value of User Preferences in Search-Based Software Engineering

On the Value of User Preferences in Search-Based Software Engineering:

A Case Study in Software Product Lines

Abdel Salam Sayyad Tim MenziesHany Ammar

West Virginia University, USA

International Conference on Software EngineeringMay 23rd, 2013

Page 2: On the Value of User Preferences in Search-Based Software Engineering

2

Sound bites

Feature-based SERepresentation and validation: importantMulti-objective Configuration: interesting

Stop tinkering with small stuff!Minor improvements welcome…

… but not insightful!

Enough with the usual suspects: NSGA-II, SPEA2, etc.

If user preferences matterThen the best optimizer understands preferences the best

Page 3: On the Value of User Preferences in Search-Based Software Engineering

Roadmap

① Feature-based SE② Evolutionary Algorithms③ Experiment & Results④ Conclusion

Page 4: On the Value of User Preferences in Search-Based Software Engineering

Roadmap

① Feature-based SE② Evolutionary Algorithms③ Experiment & Results④ Conclusion

Page 5: On the Value of User Preferences in Search-Based Software Engineering

5

Welcome to the new world!Old world:

product-based SE

e.g. Microsoft office

New world: app-based SE

e.g. Apple app store

Page 6: On the Value of User Preferences in Search-Based Software Engineering

6

The times, they are a changin’

Old world: product-based SEe.g. Microsoft office • Vendors tried to retain their

user base via some complete ecologies

• One software solution for all user needs (e.g. Microsoft Office).

• Large, complex, software platforms, – very slow to change.

Page 7: On the Value of User Preferences in Search-Based Software Engineering

7

The times, they are a changin’

New worlde: app-based SE • Smart phones and tablet-

based software

• Users choosing many numbers of small apps from different vendors, – each performing a specific

small task.

• Vendors must quickly and continually reconfigure apps – To retain and extend their

customer base.

e.g. Apple app store

Page 8: On the Value of User Preferences in Search-Based Software Engineering

8

Feature–oriented domain analysis [Kang 1990]

• Feature models = a lightweight method for defining a space of options

• De facto standard for modeling variability

Cross-Tree Constraints

Cross-Tree Constraints

Page 9: On the Value of User Preferences in Search-Based Software Engineering

9

What are the user preferences?• Multi-objective optimization = navigating competing concerns

– Success criteria = choose features that achieve the user preferences!• Suppose each feature had the following metrics:

1. Boolean USED_BEFORE?2. Integer DEFECTS3. Real COST

• Show me the space of “best options” according to the objectives:1. That satisfies most domain constraints (0 ≤ #violations ≤ 100%)2. That offers most features3. That we have used most before4. Using features with least known defects5. Using features with least cost

Page 10: On the Value of User Preferences in Search-Based Software Engineering

10

Diving deeper• Much prior work in SBSE (*)

--------------------------(*) Sayyad and Ammar, RAISE’13

explored tiny objective spaces (2 or 3 objectives)

Used NSGA-II

Didn’t state why!

Page 11: On the Value of User Preferences in Search-Based Software Engineering

Roadmap

① Feature-based SE② Evolutionary Algorithms③ Experiment & Results④ Conclusion

Page 12: On the Value of User Preferences in Search-Based Software Engineering

12

Multi-objective Optimization

Higher-level Decision Making

The Pareto Front

The Chosen Solution

Page 13: On the Value of User Preferences in Search-Based Software Engineering

13

Survival of the fittest(according to NSGA-II [Deb et al. 2002])

Boolean dominance (x Dominates y, or does not):- In no objective is x worse than y- In at least one objective, x is better than y Crowd

pruning

Page 14: On the Value of User Preferences in Search-Based Software Engineering

14

Tinkering with small stuff…

ssNSGA-II: steady state [Durillo ‘09]

Other Algorithms: Ranking criteria:NSGA-II

SPEA2 [Zitzler ‘01] More focus on diversity, with a new diversity measure.

FastPGA [Eskandari ‘07]Borrowed criteria from NSGA-II, and diversity measure from SPEA2

MOCell (Cellular GA) [Nebro ‘09] NSGA-II

NSGA-IIMOCHC (re-designed selection, crossover, and mutation) [Nebro ‘07]

Boolean Dominance

Boolean Dominance

Boolean Dominance

Boolean Dominance

Boolean Dominance

Page 15: On the Value of User Preferences in Search-Based Software Engineering

15

Indicator-Based Evolutionary Algorithm (IBEA) [Zitzler and Kunzli ‘04]

1) For {old generation + new generation} do– Add up every individual’s amount of dominance with

respect to everyone else

– Sort all instances by F– Delete worst, recalculate, delete worst, recalculate, …

2) Then, standard GA (cross-over, mutation) on the survivors Create a new generation Back to 1.

Continuous Dominance

Page 16: On the Value of User Preferences in Search-Based Software Engineering

16

An important property of IBEA

• Allows solutions to crowd close to the zero point.

• In our problem: Allows many solutions that achieve violations equal or close to zero… then allows optimization in the other 4 dimensions…

• Crowd pruning can hurt!

• Using real-valued benchmark functions, Wagner et al. (EMO 2007) confirm that the performance of NSGA-II and SPEA2 rapidly deteriorates with increasing dimension, whereas indicator-based algorithms (e.g. IBEA) cope very well with high-dimensional objective spaces.

Page 17: On the Value of User Preferences in Search-Based Software Engineering

Roadmap

① Feature-based SE② Evolutionary Algorithms③ Experiment & Results④ Conclusion

Page 18: On the Value of User Preferences in Search-Based Software Engineering

18

2 Case studies from SPLOT

Cross-treeconstraints

Page 19: On the Value of User Preferences in Search-Based Software Engineering

Algorithms

• 7 Algorithms from jMetal: http://jmetal.sourceforge.net/ – IBEA, NSGA-II, ssNSGA-II, SPEA2, FastPGA, MOCell, MOCHC.

19

• Features are bits in the “product” string.

• Same settings for all algorithms.

Page 20: On the Value of User Preferences in Search-Based Software Engineering

20

4 studies:Two, three, four, five- objectives

The five objectives:1. satisfy most domain constraints (0 ≤ violations ≤ 100%)2. offer most features3. most used before4. least known defects5. least cost

Two objectives = 1,2Three objectives = 1,2,5Four objectives = 1,2,3,5Five objectives = 1,2,3,4,5

Page 21: On the Value of User Preferences in Search-Based Software Engineering

21

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Page 22: On the Value of User Preferences in Search-Based Software Engineering

22Comment 1: all about the same for the 2-objective problem

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Page 23: On the Value of User Preferences in Search-Based Software Engineering

23Comment 2: IBEA is better on HV.

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Page 24: On the Value of User Preferences in Search-Based Software Engineering

24Comment 3: IBEA has no spread operators, but gets best spread

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Page 25: On the Value of User Preferences in Search-Based Software Engineering

25Comment 4: All the non-IBEA algorithms are very similar

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Page 26: On the Value of User Preferences in Search-Based Software Engineering

26

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Comment 5: IBEA does much, much better on constraints

Page 27: On the Value of User Preferences in Search-Based Software Engineering

27

HV = hypervolume of dominated regionSpread = coverage of frontier% correct = % of solutions that fully satisfy the constraints

Comment 6: IBEA’s advantage is more striking with E-Shop

Page 28: On the Value of User Preferences in Search-Based Software Engineering

28

Why is this interesting?

Other Algorithms• The usual suspects are widely,

uncritically used in many applications– E.g. especially NSGA-II and SPEA2

• Focused on internal algorithmic tricks– Techniques for

• improving spread • Improving HV• Avoid overlaps in cross-over of

dominated space• etc.

• And the net effect of all those differences?– Not much

IBEA• Rather stupid on those

internal tricks– Just does same old crossover

mutate GA– Plus: aggressive exploration

of the preference space

• And the net effect of all those differences– Better spreads– Better HV– Fewer constraint violations

Conclusion: preference is power

Page 29: On the Value of User Preferences in Search-Based Software Engineering

Roadmap

① Feature-based SE② Evolutionary Algorithms③ Experiment & Results④ Conclusion

Page 30: On the Value of User Preferences in Search-Based Software Engineering

30

Current Achievements and Future Work

• ICSE’13: initial results proving IBEA’s advantage.• CMSBSE’13: IBEA runtime improvement.• (Under review): – mutation operator tailored to feature tree. 2-3

orders-of-magnitude improvement in runtime.– Scalability to 6000+ real feature model using

innovative “population seeding” method.

• Future Work:– Further scalability.– Interactive configuration.

Page 31: On the Value of User Preferences in Search-Based Software Engineering

31

Sound bitesThe new age of the app

In this new world: use FODA(feature-oriented domain analysis)

Stop tinkering with small stuff Many MEOAs have strikingly similar performance

Enough with the usual suspects: NSGA-II, SPEA2, etc.Too much uncritical application of these algorithms

If user preferences matterThen the best optimizer understands preferences the bestIBEA: aggressive preference exploration

AcknowledgmentThis research work was

funded by the Qatar National Research Fund

(QNRF) under the National Priorities Research Program

(NPRP) Grant No.: 09-1205-2-470.