SlideShare una empresa de Scribd logo
1 de 27
Scalable Product Line Configuration:
A Straw to Break the Camel’s Back
Abdel Salam Sayyad
Joseph Ingram
Tim Menzies
Hany Ammar
Sound bites
Real Software Product Lines…
… are big, complex
… representative feature models are now available for research
… scale up or die !

What does it take?
Multi-objective problem formulation
An optimizer that relies heavily on user preferences
Respect domain constraints, and...

… A Straw to Break the Camel’s Back

2
Roadmap

① State of the Art
② Experiment & Results
③ Conclusion
Roadmap

① State of the Art
② Experiment & Results
③ Conclusion
Feature Models
• Feature models = a
lightweight method for
defining a space of options
• De facto standard for
modeling variability
Cross-Tree Constraints

Size ? 10 Features, 8 Rules

Cross-Tree Constraints
5
Feature Model Repository

Size ? 290 Features, 421 Rules
cardinal = 2.26x1049 *Pohl ‘11+
6
Feature Models of Real Software Projects

Size ? 6888 Features; 344,000 Rules
cardinal? Forgeddaboutit!

7
Size isn’t all…
Property
Size

SPLOT
Significantly smaller

Linux
Significantly larger

Constraints
Feature Groups
Leaves

Significantly less
High ratio
Deeper

Significantly more
Low ratio
Shallower

T. Berger, S. She, R. Lotufo, A. Wasowski, and K. Czarnecki, "A Study of Variability
Models and Languages in the Systems Software Domain," IEEE Tran Soft Eng. 2013
8
A Multi-Objective Formulation
Multi-objective optimization = navigating competing concerns
– Success criteria = choose features that achieve the user preferences!
Suppose each feature had the following metrics:
1. Boolean
2. Integer
3. Real

USED_BEFORE?
DEFECTS
COST

Show me the space of “best options” according to the objectives:
1.
2.
3.
4.
5.

That satisfies most domain constraints (0 ≤ #violations ≤ 100%)
That offers most features
That we have used most before
Using features with least known defects
Using features with least cost

9
No single “optimum” solution

The Pareto Front

Higher-level
Decision Making

The Chosen Solution

10
State of the Art

Features

Linux (LVAT)

6888

544

Single-objective

Johansen
‘11

Henard
‘12

Multi-objective

Sayyad ’13b

White ‘07, ‘08, 09a, 09b,
Shi ‘10, Guo ‘11

SPLOT

290

9

Pohl ‘11
Benavides
‘05

LopezHerrejon
‘11

Sayyad
’13a

Olaechea
‘13

Objectives
11
Roadmap

① State of the Art
② Experiment & Results
③ Conclusion
Two Algorithms
1) NSGA-II [Deb et al. ‘02+
Non-dominated Sorting
Genetic Algorithm
Binary Dominance
2) IBEA *Zitzler and Kunzli ‘04]
Indicator-Based Evolutionary
Algorithm

Continuous Dominance
13
7 Feature Models

14
Feature Fixing
• Look for mandatory or dead features.
• Fix those feature in the evolution.
• Skip rules with only those features.

15
Experiment

Low Crossover & Mutation rates
Stopping Criteria

16
HV
= Hypervolume of dominated region
%Correct = % of solutions that are fully correct (out of 300 solutions)

17
Comparing %Correct
i.e. % of solutions that are fully correct (out of 300 solutions)
NSGA-II No FF

100%

NSGA-II with FF
80%

IBEA No FF
IBEA with FF

60%
40%
20%
0%
ToyBox

axTLS

eCos

FreeBSD

Fiasco

uClinux

Linux X86
18
How to crack the nut?
• What if we told IBEA what good solutions look
like?
• Good solution? … A correct solution, with:
• Minimal skeleton?
• Maximum features?
• Then what?
• Seed the initial population with a pre-calculated
“good” solution.
19
• How to generate good (correct) solutions?
• Z3 SMT (Satisfiability Module Theory) Solver
• Two-objective IBEA, min violations, max features

• Z3: super fast, low on selected features
• 2-obj IBEA: slow, but feature-rich
20
Correct solutions after 30 minutes for
Linux Kernel feature model

21
Correct solutions after 30 minutes for
Linux Kernel feature model
… A Straw to Break the Camel’s Back

22
More recent result
• added the “PULL” trick (give more objective weight
to constraint violations)

23
Why is this interesting?
• 20 correct solutions to choose from within 2 minutes

24
Do I have the user’s attention?
• 2 seconds…
• to stay focused

• 10 seconds…
• to stay on task

• few minutes?
• To provide
timely input
at a meeting
25
Roadmap

① State of the Art
② Experiment & Results
③ Conclusion
Sound bites
Scalability
Method innovation is key

Problem Formulation
Give the best (comprehensive yet
concise) picture to the user.

IBEA with Feature Fixing
Continuous dominance
Respect domain constraints

Acknowledgment
This research work was
funded by the Qatar
National Research Fund
(QNRF) under the National
Priorities Research Program
(NPRP)
Grant No.: 09-1205-2-470.

Enter Z3?
One day we will build that bridge!
27

Más contenido relacionado

Similar a Scalable Product Line Configuration - ASE 2013 Palo Alto, CA

Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...Anne Nicolas
 
Top-Down? Bottom Up? A Survey of Hierarchical Design Methodologies
Top-Down? Bottom Up? A Survey of Hierarchical Design MethodologiesTop-Down? Bottom Up? A Survey of Hierarchical Design Methodologies
Top-Down? Bottom Up? A Survey of Hierarchical Design MethodologiesTrent McConaghy
 
Qualcomm Webinar: Solving Unsolvable Combinatorial Problems with AI
Qualcomm Webinar: Solving Unsolvable Combinatorial Problems with AIQualcomm Webinar: Solving Unsolvable Combinatorial Problems with AI
Qualcomm Webinar: Solving Unsolvable Combinatorial Problems with AIQualcomm Research
 
Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsUniversität Rostock
 
MiniOS: an instructional platform for teaching operating systems labs
MiniOS: an instructional platform for teaching operating systems labsMiniOS: an instructional platform for teaching operating systems labs
MiniOS: an instructional platform for teaching operating systems labsRafael Roman Otero
 
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...ORAU
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceESUG
 
20140228 fp and_performance
20140228 fp and_performance20140228 fp and_performance
20140228 fp and_performanceshinolajla
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practicesBill Buchan
 
Irregularity Countermeasures in Massively Parallel BigData Processors
Irregularity Countermeasures in Massively Parallel BigData ProcessorsIrregularity Countermeasures in Massively Parallel BigData Processors
Irregularity Countermeasures in Massively Parallel BigData ProcessorsTokyo University of Science
 
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsGo Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsJonas Bonér
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++Mike Acton
 
BSSML17 - Deepnets
BSSML17 - DeepnetsBSSML17 - Deepnets
BSSML17 - DeepnetsBigML, Inc
 
Open LLMs: Viable for Production or Low-Quality Toy?
Open LLMs: Viable for Production or Low-Quality Toy?Open LLMs: Viable for Production or Low-Quality Toy?
Open LLMs: Viable for Production or Low-Quality Toy?M Waleed Kadous
 
Tensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with HummingbirdTensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with HummingbirdDatabricks
 
Introduction to ML.NET
Introduction to ML.NETIntroduction to ML.NET
Introduction to ML.NETMarco Parenzan
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Automated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse EngineeringAutomated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse Engineeringzynamics GmbH
 

Similar a Scalable Product Line Configuration - ASE 2013 Palo Alto, CA (20)

Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
 
Top-Down? Bottom Up? A Survey of Hierarchical Design Methodologies
Top-Down? Bottom Up? A Survey of Hierarchical Design MethodologiesTop-Down? Bottom Up? A Survey of Hierarchical Design Methodologies
Top-Down? Bottom Up? A Survey of Hierarchical Design Methodologies
 
Qualcomm Webinar: Solving Unsolvable Combinatorial Problems with AI
Qualcomm Webinar: Solving Unsolvable Combinatorial Problems with AIQualcomm Webinar: Solving Unsolvable Combinatorial Problems with AI
Qualcomm Webinar: Solving Unsolvable Combinatorial Problems with AI
 
Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementations
 
MiniOS: an instructional platform for teaching operating systems labs
MiniOS: an instructional platform for teaching operating systems labsMiniOS: an instructional platform for teaching operating systems labs
MiniOS: an instructional platform for teaching operating systems labs
 
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
20140228 fp and_performance
20140228 fp and_performance20140228 fp and_performance
20140228 fp and_performance
 
embedded C.pptx
embedded C.pptxembedded C.pptx
embedded C.pptx
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practices
 
Irregularity Countermeasures in Massively Parallel BigData Processors
Irregularity Countermeasures in Massively Parallel BigData ProcessorsIrregularity Countermeasures in Massively Parallel BigData Processors
Irregularity Countermeasures in Massively Parallel BigData Processors
 
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven SystemsGo Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
Go Reactive: Building Responsive, Resilient, Elastic & Message-Driven Systems
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 
BSSML17 - Deepnets
BSSML17 - DeepnetsBSSML17 - Deepnets
BSSML17 - Deepnets
 
Open LLMs: Viable for Production or Low-Quality Toy?
Open LLMs: Viable for Production or Low-Quality Toy?Open LLMs: Viable for Production or Low-Quality Toy?
Open LLMs: Viable for Production or Low-Quality Toy?
 
Tensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with HummingbirdTensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with Hummingbird
 
Introduction to ML.NET
Introduction to ML.NETIntroduction to ML.NET
Introduction to ML.NET
 
es_hardware_handout
es_hardware_handoutes_hardware_handout
es_hardware_handout
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Automated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse EngineeringAutomated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse Engineering
 

Más de Abdel Salam Sayyad

Slide set 3 honesty, academic ethics
Slide set 3  honesty, academic ethicsSlide set 3  honesty, academic ethics
Slide set 3 honesty, academic ethicsAbdel Salam Sayyad
 
Slide set 1 intro to professional ethics
Slide set 1  intro to professional ethicsSlide set 1  intro to professional ethics
Slide set 1 intro to professional ethicsAbdel Salam Sayyad
 
Teaching methods - Active learning
Teaching methods - Active learningTeaching methods - Active learning
Teaching methods - Active learningAbdel Salam Sayyad
 
Software Engineering Code of Ethics
Software Engineering Code of EthicsSoftware Engineering Code of Ethics
Software Engineering Code of EthicsAbdel Salam Sayyad
 
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...Abdel Salam Sayyad
 
Of Machines and Men: AI and Decision Making
Of Machines and Men: AI and Decision MakingOf Machines and Men: AI and Decision Making
Of Machines and Men: AI and Decision MakingAbdel Salam Sayyad
 
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...Abdel Salam Sayyad
 
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature SurveyPareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature SurveyAbdel Salam Sayyad
 
On the Value of User Preferences in Search-Based Software Engineering
On the Value of User Preferences in Search-Based Software EngineeringOn the Value of User Preferences in Search-Based Software Engineering
On the Value of User Preferences in Search-Based Software EngineeringAbdel Salam Sayyad
 

Más de Abdel Salam Sayyad (14)

Slide set 5 workplace rights
Slide set 5  workplace rightsSlide set 5  workplace rights
Slide set 5 workplace rights
 
Slide set 4 safety and risk
Slide set 4  safety and riskSlide set 4  safety and risk
Slide set 4 safety and risk
 
Slide set 3 honesty, academic ethics
Slide set 3  honesty, academic ethicsSlide set 3  honesty, academic ethics
Slide set 3 honesty, academic ethics
 
Slide set 2 moral dilemmas
Slide set 2  moral dilemmasSlide set 2  moral dilemmas
Slide set 2 moral dilemmas
 
Slide set 1 intro to professional ethics
Slide set 1  intro to professional ethicsSlide set 1  intro to professional ethics
Slide set 1 intro to professional ethics
 
Teaching methods - Active learning
Teaching methods - Active learningTeaching methods - Active learning
Teaching methods - Active learning
 
Software Engineering Code of Ethics
Software Engineering Code of EthicsSoftware Engineering Code of Ethics
Software Engineering Code of Ethics
 
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
Evolutionary Search Techniques with Strong Heuristics for Multi-Objective Fea...
 
Of Machines and Men: AI and Decision Making
Of Machines and Men: AI and Decision MakingOf Machines and Men: AI and Decision Making
Of Machines and Men: AI and Decision Making
 
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
 
My summary 6-24-2013
My summary 6-24-2013My summary 6-24-2013
My summary 6-24-2013
 
Guest Lecture 1/30/2013
Guest Lecture 1/30/2013Guest Lecture 1/30/2013
Guest Lecture 1/30/2013
 
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature SurveyPareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
 
On the Value of User Preferences in Search-Based Software Engineering
On the Value of User Preferences in Search-Based Software EngineeringOn the Value of User Preferences in Search-Based Software Engineering
On the Value of User Preferences in Search-Based Software Engineering
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Scalable Product Line Configuration - ASE 2013 Palo Alto, CA

  • 1. Scalable Product Line Configuration: A Straw to Break the Camel’s Back Abdel Salam Sayyad Joseph Ingram Tim Menzies Hany Ammar
  • 2. Sound bites Real Software Product Lines… … are big, complex … representative feature models are now available for research … scale up or die ! What does it take? Multi-objective problem formulation An optimizer that relies heavily on user preferences Respect domain constraints, and... … A Straw to Break the Camel’s Back 2
  • 3. Roadmap ① State of the Art ② Experiment & Results ③ Conclusion
  • 4. Roadmap ① State of the Art ② Experiment & Results ③ Conclusion
  • 5. Feature Models • Feature models = a lightweight method for defining a space of options • De facto standard for modeling variability Cross-Tree Constraints Size ? 10 Features, 8 Rules Cross-Tree Constraints 5
  • 6. Feature Model Repository Size ? 290 Features, 421 Rules cardinal = 2.26x1049 *Pohl ‘11+ 6
  • 7. Feature Models of Real Software Projects Size ? 6888 Features; 344,000 Rules cardinal? Forgeddaboutit! 7
  • 8. Size isn’t all… Property Size SPLOT Significantly smaller Linux Significantly larger Constraints Feature Groups Leaves Significantly less High ratio Deeper Significantly more Low ratio Shallower T. Berger, S. She, R. Lotufo, A. Wasowski, and K. Czarnecki, "A Study of Variability Models and Languages in the Systems Software Domain," IEEE Tran Soft Eng. 2013 8
  • 9. A Multi-Objective Formulation Multi-objective optimization = navigating competing concerns – Success criteria = choose features that achieve the user preferences! Suppose each feature had the following metrics: 1. Boolean 2. Integer 3. Real USED_BEFORE? DEFECTS COST Show me the space of “best options” according to the objectives: 1. 2. 3. 4. 5. That satisfies most domain constraints (0 ≤ #violations ≤ 100%) That offers most features That we have used most before Using features with least known defects Using features with least cost 9
  • 10. No single “optimum” solution The Pareto Front Higher-level Decision Making The Chosen Solution 10
  • 11. State of the Art Features Linux (LVAT) 6888 544 Single-objective Johansen ‘11 Henard ‘12 Multi-objective Sayyad ’13b White ‘07, ‘08, 09a, 09b, Shi ‘10, Guo ‘11 SPLOT 290 9 Pohl ‘11 Benavides ‘05 LopezHerrejon ‘11 Sayyad ’13a Olaechea ‘13 Objectives 11
  • 12. Roadmap ① State of the Art ② Experiment & Results ③ Conclusion
  • 13. Two Algorithms 1) NSGA-II [Deb et al. ‘02+ Non-dominated Sorting Genetic Algorithm Binary Dominance 2) IBEA *Zitzler and Kunzli ‘04] Indicator-Based Evolutionary Algorithm Continuous Dominance 13
  • 15. Feature Fixing • Look for mandatory or dead features. • Fix those feature in the evolution. • Skip rules with only those features. 15
  • 16. Experiment Low Crossover & Mutation rates Stopping Criteria 16
  • 17. HV = Hypervolume of dominated region %Correct = % of solutions that are fully correct (out of 300 solutions) 17
  • 18. Comparing %Correct i.e. % of solutions that are fully correct (out of 300 solutions) NSGA-II No FF 100% NSGA-II with FF 80% IBEA No FF IBEA with FF 60% 40% 20% 0% ToyBox axTLS eCos FreeBSD Fiasco uClinux Linux X86 18
  • 19. How to crack the nut? • What if we told IBEA what good solutions look like? • Good solution? … A correct solution, with: • Minimal skeleton? • Maximum features? • Then what? • Seed the initial population with a pre-calculated “good” solution. 19
  • 20. • How to generate good (correct) solutions? • Z3 SMT (Satisfiability Module Theory) Solver • Two-objective IBEA, min violations, max features • Z3: super fast, low on selected features • 2-obj IBEA: slow, but feature-rich 20
  • 21. Correct solutions after 30 minutes for Linux Kernel feature model 21
  • 22. Correct solutions after 30 minutes for Linux Kernel feature model … A Straw to Break the Camel’s Back 22
  • 23. More recent result • added the “PULL” trick (give more objective weight to constraint violations) 23
  • 24. Why is this interesting? • 20 correct solutions to choose from within 2 minutes 24
  • 25. Do I have the user’s attention? • 2 seconds… • to stay focused • 10 seconds… • to stay on task • few minutes? • To provide timely input at a meeting 25
  • 26. Roadmap ① State of the Art ② Experiment & Results ③ Conclusion
  • 27. Sound bites Scalability Method innovation is key Problem Formulation Give the best (comprehensive yet concise) picture to the user. IBEA with Feature Fixing Continuous dominance Respect domain constraints Acknowledgment This research work was funded by the Qatar National Research Fund (QNRF) under the National Priorities Research Program (NPRP) Grant No.: 09-1205-2-470. Enter Z3? One day we will build that bridge! 27