SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

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