3. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
Feature attributes:
1. Boolean USED_BEFORE?
2. Integer DEFECTS
3. Real COST
4. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
Feature attributes:
1. Boolean USED_BEFORE?
2. Integer DEFECTS
3. Real COST
Objectives:
1. satisfy most domain constraints (0 ≤
violations ≤ 100%)
2. offer most features
3. most used before
4. least known defects
5. least cost
5. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
compare:
Continuous domination measure (IBEA)
Boolean domination + diversity (e.g. NSGA-II)
6. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
compare:
Continuous domination measure (IBEA)
Boolean domination + diversity (e.g. NSGA-II)
Result:
IBEA beat all others on Hypervolume, Spread,
and % fully-correct solutions.
Especially, with more objectives.
7. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
CMSBSE’13 and later result:
Lower crossover and mutation
rates -> Exploitation
Best parameters:
Crossover = 0 !!!
Mutation = 0.5/FEATURES
8. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
CMSBSE’13 and later result:
Lower crossover and mutation
rates -> Exploitation
Journal Submission:
Configure within seconds…
Tree Mutation.
Tree Mutation
- Only mutate when tree structure is
respected.
- No crossover.
9. Abdel Salam Sayyad
Multi-Objective Optimization
in Software Product Lines
ICSE’13: SPLOT model, up to
290 features
CMSBSE’13 and later result:
Lower crossover and mutation
rates -> Exploitation
Journal submission:
Configure within seconds…
Tree Mutation.
Most recent submission:
Linux model, 6888 features,
DIMACS format.
Population Seeding
- One correct solution infects a
population of 300.