SlideShare a Scribd company logo
1 of 76
Download to read offline
Constraint Solver for Product Lines
Project 1 Presentation
Jianfeng Chen
jchen37@ncsu.edu
April 9, 2015
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 1 / 18
Software features
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
Software features
Software engineering is becoming more and more complex.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
Software features
Software engineering is becoming more and more complex.
More and more features.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
Software features
Software engineering is becoming more and more complex.
More and more features.
C2C online trading system: database, commercial data encryption, mil-
lisecond(microsecond) response, customable GUI, chatting module, email
connection, etc.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
Software features
Software engineering is becoming more and more complex.
More and more features.
C2C online trading system: database, commercial data encryption, mil-
lisecond(microsecond) response, customable GUI, chatting module, email
connection, etc.
An operating system have thousands of modules and features.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
Software features
Software engineering is becoming more and more complex.
More and more features.
C2C online trading system: database, commercial data encryption, mil-
lisecond(microsecond) response, customable GUI, chatting module, email
connection, etc.
An operating system have thousands of modules and features.
Among them, which features should be implemented?
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
Feature model
Feature tree:
http://www.digplanet.com/wiki/Feature_model
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
Feature model
Feature tree:
http://www.digplanet.com/wiki/Feature_model
Many features are related to others.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
Feature model
Feature tree:
http://www.digplanet.com/wiki/Feature_model
Many features are related to others.
Cross-tree constraints complex the problem.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
Feature model
Feature tree:
http://www.digplanet.com/wiki/Feature_model
Many features are related to others.
Cross-tree constraints complex the problem.
Cross-tree constraints are widespread in the software products.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
Feature model
Feature tree:
http://www.digplanet.com/wiki/Feature_model
Many features are related to others.
Cross-tree constraints complex the problem.
Cross-tree constraints are widespread in the software products.
Ex. more than three fourths features in eCos(an open source real-time oper-
ating system) are referred by some constraints.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
Feature model
SPLOT
open repository
more than 600 feature models
SXFM language; parser is available
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 4 / 18
Goals
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
GOALS:
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
GOALS:
⇓ constraint violations
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
GOALS:
⇓ constraint violations
⇑ feature richness
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
GOALS:
⇓ constraint violations
⇑ feature richness
⇑ used features
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
GOALS:
⇓ constraint violations
⇑ feature richness
⇑ used features
⇓ defects
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Goals
INPUT:
feature model(including constraints)
some important feature attributes:
cost
familiarity(used before?)
defects
OUTPUT: configurations (select which features?)
GOALS:
⇓ constraint violations
⇑ feature richness
⇑ used features
⇓ defects
⇓ total cost
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
Genetic algorithms
http://www.abrandao.com/2015/01/21/simple-php-genetic-algorithm/
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 6 / 18
Domination
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
A 3 7 4 2 7
B 4 7 6 2 7
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
A 3 7 4 2 7
B 4 7 6 2 7
A dominates B
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
A 3 7 4 2 7
B 4 7 6 2 7
A dominates B
A 4 7 6 2 7
B 4 4 6 1 5
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
A 3 7 4 2 7
B 4 7 6 2 7
A dominates B
A 4 7 6 2 7
B 4 4 6 1 5
B dominates A
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
A 3 7 4 2 7
B 4 7 6 2 7
A dominates B
A 4 7 6 2 7
B 4 4 6 1 5
B dominates A
A 3 7 4 2 7
B 4 4 6 1 7
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Domination
Reverse the uprise objectives ⇒ all objectives are the less the better.
A 3 7 4 2 7
B 4 7 6 2 7
A dominates B
A 4 7 6 2 7
B 4 4 6 1 5
B dominates A
A 3 7 4 2 7
B 4 4 6 1 7
A is indifferent from B
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
Method 1: Differential Evolution
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
Method 1: Differential Evolution
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
Method 1: Differential Evolution
continuous: new = A + F ∗ (B − C)
binary: for each bit, new = A|B|C basing on some lottery.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
Method 1: Differential Evolution
What if indifferent?
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
Method 1: Differential Evolution
What if indifferent?
add to the population pool!
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
Method 1: Differential Evolution
What if indifferent?
add to the population pool!
How to prune?
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
Method 1: Differential Evolution
What if indifferent?
add to the population pool!
How to prune?
[Deb, Kalyanmoy, et al. 2002]
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
Method 2: Indicator-based search
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
Method 2: Indicator-based search
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
Method 2: Indicator-based search
Binary quality indicator
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
Method 2: Indicator-based search
Binary quality indicator
Fitness F(x) = i∈Px −e−I(i,x)/κ
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
Method 2: Indicator-based search
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Method 2: Indicator-based search
Initialization
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Method 2: Indicator-based search
Initialization
Get fitness
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Method 2: Indicator-based search
Initialization
Get fitness
Eliminate the individuals with smallest fitness
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Method 2: Indicator-based search
Initialization
Get fitness
Eliminate the individuals with smallest fitness
Mating selection
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Method 2: Indicator-based search
Initialization
Get fitness
Eliminate the individuals with smallest fitness
Mating selection
Variation
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Method 2: Indicator-based search
Initialization
Get fitness
Eliminate the individuals with smallest fitness
Mating selection
Variation
Terminate or back to second step
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
Results
FM test (medium size)
166 features
112 leaves
46 cross-tree constraints
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 12 / 18
Results
IBEA.FM.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 13 / 18
Results
DE vs IBEA.FM.
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18
Results
DE vs IBEA.FM.
Figure: Features NOT provided
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18
Results
DE vs IBEA.FM.
Figure: Defects
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 15 / 18
Further discussion
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Running time
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Running time
DE-FM-500 gens-54s
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Running time
DE-FM-500 gens-54s
IBEA-FM-500 gens-83s
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Running time
DE-FM-500 gens-54s
IBEA-FM-500 gens-83s
In average, IBEA = 1.3*DE
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Running time
DE-FM-500 gens-54s
IBEA-FM-500 gens-83s
In average, IBEA = 1.3*DE
Front Quality
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Further discussion
Stopping criterion
improvement/deterioration accumulation
customable weight
Running time
DE-FM-500 gens-54s
IBEA-FM-500 gens-83s
In average, IBEA = 1.3*DE
Front Quality
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
Future work
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
Future work
pruning in differential evolution (flocking behaviors)
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
Future work
pruning in differential evolution (flocking behaviors)
mutate with reservations
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
Future work
pruning in differential evolution (flocking behaviors)
mutate with reservations
reconstruct the feature tree (reduce the search space)
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
Future work
pruning in differential evolution (flocking behaviors)
mutate with reservations
reconstruct the feature tree (reduce the search space)
chaff algorithm
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
Future work
pruning in differential evolution (flocking behaviors)
mutate with reservations
reconstruct the feature tree (reduce the search space)
chaff algorithm
Satz/Z3
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
Thank you!
Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 18 / 18

More Related Content

Similar to Software product line with IBEA

Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile AppsMachine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Kevin Moran
 
Dynamic Symbolic Database Application Testing
Dynamic Symbolic Database Application TestingDynamic Symbolic Database Application Testing
Agile Planning - Scaling Agile Development
Agile Planning  - Scaling Agile DevelopmentAgile Planning  - Scaling Agile Development
Agile Planning - Scaling Agile Development
Microsoft Visual Studio
 

Similar to Software product line with IBEA (20)

Facetedpedia: Dynamic Generation of Query-Dependent Faceted Interfaces for Wi...
Facetedpedia: Dynamic Generation of Query-Dependent Faceted Interfaces for Wi...Facetedpedia: Dynamic Generation of Query-Dependent Faceted Interfaces for Wi...
Facetedpedia: Dynamic Generation of Query-Dependent Faceted Interfaces for Wi...
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
 
Software Engg.pdf
Software Engg.pdfSoftware Engg.pdf
Software Engg.pdf
 
Driving Innovation with Kanban at Jaguar Land Rover
Driving Innovation with Kanban at Jaguar Land RoverDriving Innovation with Kanban at Jaguar Land Rover
Driving Innovation with Kanban at Jaguar Land Rover
 
Emergent Design: History, Concepts, and Principles
Emergent Design: History, Concepts, and PrinciplesEmergent Design: History, Concepts, and Principles
Emergent Design: History, Concepts, and Principles
 
Using Diversity for Automated Boundary Value Testing
Using Diversity for Automated Boundary Value TestingUsing Diversity for Automated Boundary Value Testing
Using Diversity for Automated Boundary Value Testing
 
Modernizing Your Aging Architecture: What Enterprise Architects Need To Know ...
Modernizing Your Aging Architecture: What Enterprise Architects Need To Know ...Modernizing Your Aging Architecture: What Enterprise Architects Need To Know ...
Modernizing Your Aging Architecture: What Enterprise Architects Need To Know ...
 
Container Security Scanning by Timo Pagel
Container Security Scanning by Timo PagelContainer Security Scanning by Timo Pagel
Container Security Scanning by Timo Pagel
 
Container Security Scanning by Timo Pagel
Container Security Scanning by Timo PagelContainer Security Scanning by Timo Pagel
Container Security Scanning by Timo Pagel
 
[2017 AI-SOCD] AirBox Data Visualization: demonstration with case studies
[2017 AI-SOCD] AirBox Data Visualization: demonstration with case studies[2017 AI-SOCD] AirBox Data Visualization: demonstration with case studies
[2017 AI-SOCD] AirBox Data Visualization: demonstration with case studies
 
Personalized Defect Prediction
Personalized Defect PredictionPersonalized Defect Prediction
Personalized Defect Prediction
 
ppt
pptppt
ppt
 
Rnd
RndRnd
Rnd
 
Common Sense Software Development
Common Sense Software DevelopmentCommon Sense Software Development
Common Sense Software Development
 
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile AppsMachine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
 
Automotive Career
Automotive CareerAutomotive Career
Automotive Career
 
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W1 Cause and Effect An...
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W1 Cause and Effect An...Javier Garcia - Verdugo Sanchez - Six Sigma Training - W1 Cause and Effect An...
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W1 Cause and Effect An...
 
Dynamic Symbolic Database Application Testing
Dynamic Symbolic Database Application TestingDynamic Symbolic Database Application Testing
Dynamic Symbolic Database Application Testing
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
 
Agile Planning - Scaling Agile Development
Agile Planning  - Scaling Agile DevelopmentAgile Planning  - Scaling Agile Development
Agile Planning - Scaling Agile Development
 

Recently uploaded

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (20)

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 

Software product line with IBEA

  • 1. Constraint Solver for Product Lines Project 1 Presentation Jianfeng Chen jchen37@ncsu.edu April 9, 2015 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 1 / 18
  • 2. Software features Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  • 3. Software features Software engineering is becoming more and more complex. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  • 4. Software features Software engineering is becoming more and more complex. More and more features. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  • 5. Software features Software engineering is becoming more and more complex. More and more features. C2C online trading system: database, commercial data encryption, mil- lisecond(microsecond) response, customable GUI, chatting module, email connection, etc. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  • 6. Software features Software engineering is becoming more and more complex. More and more features. C2C online trading system: database, commercial data encryption, mil- lisecond(microsecond) response, customable GUI, chatting module, email connection, etc. An operating system have thousands of modules and features. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  • 7. Software features Software engineering is becoming more and more complex. More and more features. C2C online trading system: database, commercial data encryption, mil- lisecond(microsecond) response, customable GUI, chatting module, email connection, etc. An operating system have thousands of modules and features. Among them, which features should be implemented? Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  • 8. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  • 9. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Many features are related to others. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  • 10. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Many features are related to others. Cross-tree constraints complex the problem. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  • 11. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Many features are related to others. Cross-tree constraints complex the problem. Cross-tree constraints are widespread in the software products. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  • 12. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Many features are related to others. Cross-tree constraints complex the problem. Cross-tree constraints are widespread in the software products. Ex. more than three fourths features in eCos(an open source real-time oper- ating system) are referred by some constraints. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  • 13. Feature model SPLOT open repository more than 600 feature models SXFM language; parser is available Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 4 / 18
  • 14. Goals Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 15. Goals INPUT: Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 16. Goals INPUT: feature model(including constraints) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 17. Goals INPUT: feature model(including constraints) some important feature attributes: Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 18. Goals INPUT: feature model(including constraints) some important feature attributes: cost Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 19. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 20. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 21. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 22. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 23. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: ⇓ constraint violations Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 24. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: ⇓ constraint violations ⇑ feature richness Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 25. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: ⇓ constraint violations ⇑ feature richness ⇑ used features Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 26. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: ⇓ constraint violations ⇑ feature richness ⇑ used features ⇓ defects Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 27. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: ⇓ constraint violations ⇑ feature richness ⇑ used features ⇓ defects ⇓ total cost Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  • 28. Genetic algorithms http://www.abrandao.com/2015/01/21/simple-php-genetic-algorithm/ Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 6 / 18
  • 29. Domination Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 30. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 31. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 32. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 A dominates B Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 33. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 A dominates B A 4 7 6 2 7 B 4 4 6 1 5 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 34. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 A dominates B A 4 7 6 2 7 B 4 4 6 1 5 B dominates A Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 35. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 A dominates B A 4 7 6 2 7 B 4 4 6 1 5 B dominates A A 3 7 4 2 7 B 4 4 6 1 7 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 36. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 A dominates B A 4 7 6 2 7 B 4 4 6 1 5 B dominates A A 3 7 4 2 7 B 4 4 6 1 7 A is indifferent from B Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  • 37. Method 1: Differential Evolution Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
  • 38. Method 1: Differential Evolution Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
  • 39. Method 1: Differential Evolution continuous: new = A + F ∗ (B − C) binary: for each bit, new = A|B|C basing on some lottery. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
  • 40. Method 1: Differential Evolution What if indifferent? Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  • 41. Method 1: Differential Evolution What if indifferent? add to the population pool! Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  • 42. Method 1: Differential Evolution What if indifferent? add to the population pool! How to prune? Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  • 43. Method 1: Differential Evolution What if indifferent? add to the population pool! How to prune? [Deb, Kalyanmoy, et al. 2002] Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  • 44. Method 2: Indicator-based search Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  • 45. Method 2: Indicator-based search Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  • 46. Method 2: Indicator-based search Binary quality indicator Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  • 47. Method 2: Indicator-based search Binary quality indicator Fitness F(x) = i∈Px −e−I(i,x)/κ Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  • 48. Method 2: Indicator-based search Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 49. Method 2: Indicator-based search Initialization Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 50. Method 2: Indicator-based search Initialization Get fitness Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 51. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 52. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Mating selection Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 53. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Mating selection Variation Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 54. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Mating selection Variation Terminate or back to second step Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  • 55. Results FM test (medium size) 166 features 112 leaves 46 cross-tree constraints Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 12 / 18
  • 56. Results IBEA.FM. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 13 / 18
  • 57. Results DE vs IBEA.FM. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18
  • 58. Results DE vs IBEA.FM. Figure: Features NOT provided Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18
  • 59. Results DE vs IBEA.FM. Figure: Defects Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 15 / 18
  • 60. Further discussion Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 61. Further discussion Stopping criterion Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 62. Further discussion Stopping criterion improvement/deterioration accumulation Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 63. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 64. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 65. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 66. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s IBEA-FM-500 gens-83s Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 67. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s IBEA-FM-500 gens-83s In average, IBEA = 1.3*DE Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 68. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s IBEA-FM-500 gens-83s In average, IBEA = 1.3*DE Front Quality Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 69. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s IBEA-FM-500 gens-83s In average, IBEA = 1.3*DE Front Quality Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  • 70. Future work Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  • 71. Future work pruning in differential evolution (flocking behaviors) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  • 72. Future work pruning in differential evolution (flocking behaviors) mutate with reservations Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  • 73. Future work pruning in differential evolution (flocking behaviors) mutate with reservations reconstruct the feature tree (reduce the search space) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  • 74. Future work pruning in differential evolution (flocking behaviors) mutate with reservations reconstruct the feature tree (reduce the search space) chaff algorithm Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  • 75. Future work pruning in differential evolution (flocking behaviors) mutate with reservations reconstruct the feature tree (reduce the search space) chaff algorithm Satz/Z3 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  • 76. Thank you! Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 18 / 18