SlideShare a Scribd company logo
1 of 43
Download to read offline
Exploiting Structure and
Behavior of Highly
Configurable Systems to
Measure Performance
Miguel Velez
Software Engineering Ph.D. student
Carnegie Mellon University
Joint work with: Christian Kästner, Pooyan Jamshidi, and
Norbert Siegmund
1
Most software is highly configurable
2
For developers and users
Overwhelmed by choices
Lose track of interactions
Measuring performance in HCS is difficult
3
“For each valid configuration, x is the y you will get”
y = quality attribute x = actual value
In an ideal world
4
Configuration Execution Time
A=0 B=0 C=0 D=0 6s
A=0 B=0 C=1 D=1 6s
A=1 B=0 C=0 D=1 9s
… …
T = 3A + 1AB + 6
Black-Box Approach
5
A B C D T
1 0 0 0 0 6
2 0 0 0 1 6
3 0 0 1 0 6
4 0 0 1 1 6
5 0 1 0 0 6
6 0 1 0 1 6
7 0 1 1 0 6
8 0 1 1 1 6
9 1 0 0 0 9
10 1 0 0 1 9
11 1 0 1 0 9
12 1 0 1 1 9
13 1 1 0 0 10
14 1 1 0 1 10
15 1 1 1 0 10
16 1 1 1 1 10
Black-Box Approach
6
A B C D T
1 0 0 0 0 6
2 0 0 0 1 6
3 0 0 1 0 6
4 0 0 1 1 6
5 0 1 0 0 6
6 0 1 0 1 6
7 0 1 1 0 6
8 0 1 1 1 6
9 1 0 0 0 9
10 1 0 0 1 9
11 1 0 1 0 9
12 1 0 1 1 9
13 1 1 0 0 10
14 1 1 0 1 10
15 1 1 1 0 10
16 1 1 1 1 10
Black-Box Approach
7
A B C D T
1 0 0 0 0 6
2 0 0 0 1 6
3 0 0 1 0 6
4 0 0 1 1 6
5 0 1 0 0 6
6 0 1 0 1 6
7 0 1 1 0 6
8 0 1 1 1 6
9 1 0 0 0 9
10 1 0 0 1 9
11 1 0 1 0 9
12 1 0 1 1 9
13 1 1 0 0 10
14 1 1 0 1 10
15 1 1 1 0 10
16 1 1 1 1 10
Black-Box in practice
8
A B C D T
1 0 0 0 0 6
2 0 0 0 1 6
3 0 0 1 0 6
4 0 0 1 1 6
5 0 1 0 0 6
6 0 1 0 1 6
7 0 1 1 0 6
8 0 1 1 1 6
9 1 0 0 0 9
10 1 0 0 1 9
11 1 0 1 0 9
12 1 0 1 1 9
13 1 1 0 0 10
14 1 1 0 1 10
15 1 1 1 0 10
16 1 1 1 1 10
9
A B C D T
1 0 0 0 0 6
2 0 0 0 1 6
3 0 0 1 0 6
4 0 0 1 1 6
5 0 1 0 0 6
6 0 1 0 1 6
7 0 1 1 0 6
8 0 1 1 1 6
9 1 0 0 0 9
10 1 0 0 1 9
11 1 0 1 0 9
12 1 0 1 1 9
13
1 1 0 0 10
14 1 1 0 1 10
15 1 1 1 0 10
16 1 1 1 1 10
Black-Box in practice
Want to find interactions
Identify what we need to measure
Determine if we do not need to measure all
configurations
Ideally
10
Our Proposal: Exploit Structure and
Behavior of the Program to Measure
Performance
11
White-Box Analysis
12
Determine how options are used
Identify interactions
Compare execution traces based on
configurations
Know if we need to execute all configurations or
subset
What We Can Do With Structure and Behavior
13
Approach: Combine Static Taint Analysis
with Dynamic Analysis
14
Goal
15
Static Taint Analysis
16
Static Taint Analysis
17
Static Taint Analysis
18
Static Taint Analysis
19
Static Taint Analysis
20
Static Taint Analysis
21
Static Taint Analysis
22
Static Taint Analysis
23
Static Taint Analysis
24
Static Taint Analysis
25
Static Taint Analysis
26
Relevant Statements and Options
27
28
Relevant Statements and Options
Dynamic Analysis
29
Transform AST
30
31
Building Performance Table
32
Building Performance Table
33
Building Performance Table
34
Building Performance Table
35
Building Performance Table
36
Building Performance Table
Future Directions
37
C
Java
RQ: How often can we exploit lack of
interactions to measure performance?
Apply in Real Programs
38
Augment Tracking Information
39
Augment Tracking Information
40
Augment Tracking Information
41
• From Black-Box to White-Box
• Static Taint Analysis with Dynamic Analysis
• New pruning strategies in real programs
Summary
42
Miguel Velez
mvelezce@cs.cmu.edu
43
Data-flow Example

More Related Content

Similar to Exploiting Structure and Behavior of Highly Configurable Systems to Measure Performance

Artificial Intelligence – Case-based reasoning for recommender systems – Invi...
Artificial Intelligence – Case-based reasoning for recommender systems – Invi...Artificial Intelligence – Case-based reasoning for recommender systems – Invi...
Artificial Intelligence – Case-based reasoning for recommender systems – Invi...Thomas Roth-Berghofer
 
Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014
Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014
Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014Doc Norton
 
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...Hao Jin
 
The New Stone V3 Simulations Path with Notes
The New Stone V3 Simulations Path with NotesThe New Stone V3 Simulations Path with Notes
The New Stone V3 Simulations Path with NotesBrij Consulting, LLC
 
Object Oriented Software Development revision slide
Object Oriented Software Development revision slide Object Oriented Software Development revision slide
Object Oriented Software Development revision slide fauza jali
 
Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]
Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]
Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]Chaiyong Ragkhitwetsagul
 
Using Local Spectral Methods to Robustify Graph-Based Learning
Using Local Spectral Methods to Robustify Graph-Based LearningUsing Local Spectral Methods to Robustify Graph-Based Learning
Using Local Spectral Methods to Robustify Graph-Based LearningDavid Gleich
 
Automatic Image Cropping - A journey from a Master Thesis to Production
Automatic Image Cropping - A journey from a Master Thesis to ProductionAutomatic Image Cropping - A journey from a Master Thesis to Production
Automatic Image Cropping - A journey from a Master Thesis to ProductionAlexey Grigorev
 
The New Stone V2 Time and Motionable Arrangements
The New Stone V2 Time and Motionable ArrangementsThe New Stone V2 Time and Motionable Arrangements
The New Stone V2 Time and Motionable ArrangementsBrij Consulting, LLC
 
Democratizing Machine Learning: Perspective from a scikit-learn Creator
Democratizing Machine Learning: Perspective from a scikit-learn CreatorDemocratizing Machine Learning: Perspective from a scikit-learn Creator
Democratizing Machine Learning: Perspective from a scikit-learn CreatorDatabricks
 
@RISK Unchained Webinar
@RISK Unchained Webinar@RISK Unchained Webinar
@RISK Unchained WebinarAndrew Sich
 
Extreme Product Design: Building Things People Actually Use with Stripe's CTO...
Extreme Product Design: Building Things People Actually Use with Stripe's CTO...Extreme Product Design: Building Things People Actually Use with Stripe's CTO...
Extreme Product Design: Building Things People Actually Use with Stripe's CTO...saastr
 
New Design of Experiments Features in JMP 11
New Design of Experiments Features in JMP 11New Design of Experiments Features in JMP 11
New Design of Experiments Features in JMP 11JMP software from SAS
 
Wiring the IoT for modern manufacturing
Wiring the IoT for modern manufacturingWiring the IoT for modern manufacturing
Wiring the IoT for modern manufacturingFlorent Solt
 
Everything You Wanted to Know About Definitive Screening Designs
Everything You Wanted to Know About Definitive Screening DesignsEverything You Wanted to Know About Definitive Screening Designs
Everything You Wanted to Know About Definitive Screening DesignsJMP software from SAS
 
Openbar Leuven // Edge-Computing: On-device AI // Nick Destrycker
Openbar Leuven // Edge-Computing: On-device AI // Nick DestryckerOpenbar Leuven // Edge-Computing: On-device AI // Nick Destrycker
Openbar Leuven // Edge-Computing: On-device AI // Nick DestryckerOpenbar
 
Survey results
Survey resultsSurvey results
Survey resultssundarny
 

Similar to Exploiting Structure and Behavior of Highly Configurable Systems to Measure Performance (20)

Artificial Intelligence – Case-based reasoning for recommender systems – Invi...
Artificial Intelligence – Case-based reasoning for recommender systems – Invi...Artificial Intelligence – Case-based reasoning for recommender systems – Invi...
Artificial Intelligence – Case-based reasoning for recommender systems – Invi...
 
Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014
Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014
Agile Metrics : Velocity is NOT the Goal - NDC Oslo 2014
 
Machine Learning in Big Data
Machine Learning in Big DataMachine Learning in Big Data
Machine Learning in Big Data
 
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
 
The New Stone V3 Simulations Path with Notes
The New Stone V3 Simulations Path with NotesThe New Stone V3 Simulations Path with Notes
The New Stone V3 Simulations Path with Notes
 
The New Stone V3 Simulations Path
The New Stone V3 Simulations PathThe New Stone V3 Simulations Path
The New Stone V3 Simulations Path
 
Object Oriented Software Development revision slide
Object Oriented Software Development revision slide Object Oriented Software Development revision slide
Object Oriented Software Development revision slide
 
Test Automation Day 2018
Test Automation Day 2018Test Automation Day 2018
Test Automation Day 2018
 
Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]
Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]
Searching for Configurations in Clone Evaluation: A Replication Study [SSBSE'16]
 
Using Local Spectral Methods to Robustify Graph-Based Learning
Using Local Spectral Methods to Robustify Graph-Based LearningUsing Local Spectral Methods to Robustify Graph-Based Learning
Using Local Spectral Methods to Robustify Graph-Based Learning
 
Automatic Image Cropping - A journey from a Master Thesis to Production
Automatic Image Cropping - A journey from a Master Thesis to ProductionAutomatic Image Cropping - A journey from a Master Thesis to Production
Automatic Image Cropping - A journey from a Master Thesis to Production
 
The New Stone V2 Time and Motionable Arrangements
The New Stone V2 Time and Motionable ArrangementsThe New Stone V2 Time and Motionable Arrangements
The New Stone V2 Time and Motionable Arrangements
 
Democratizing Machine Learning: Perspective from a scikit-learn Creator
Democratizing Machine Learning: Perspective from a scikit-learn CreatorDemocratizing Machine Learning: Perspective from a scikit-learn Creator
Democratizing Machine Learning: Perspective from a scikit-learn Creator
 
@RISK Unchained Webinar
@RISK Unchained Webinar@RISK Unchained Webinar
@RISK Unchained Webinar
 
Extreme Product Design: Building Things People Actually Use with Stripe's CTO...
Extreme Product Design: Building Things People Actually Use with Stripe's CTO...Extreme Product Design: Building Things People Actually Use with Stripe's CTO...
Extreme Product Design: Building Things People Actually Use with Stripe's CTO...
 
New Design of Experiments Features in JMP 11
New Design of Experiments Features in JMP 11New Design of Experiments Features in JMP 11
New Design of Experiments Features in JMP 11
 
Wiring the IoT for modern manufacturing
Wiring the IoT for modern manufacturingWiring the IoT for modern manufacturing
Wiring the IoT for modern manufacturing
 
Everything You Wanted to Know About Definitive Screening Designs
Everything You Wanted to Know About Definitive Screening DesignsEverything You Wanted to Know About Definitive Screening Designs
Everything You Wanted to Know About Definitive Screening Designs
 
Openbar Leuven // Edge-Computing: On-device AI // Nick Destrycker
Openbar Leuven // Edge-Computing: On-device AI // Nick DestryckerOpenbar Leuven // Edge-Computing: On-device AI // Nick Destrycker
Openbar Leuven // Edge-Computing: On-device AI // Nick Destrycker
 
Survey results
Survey resultsSurvey results
Survey results
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

Exploiting Structure and Behavior of Highly Configurable Systems to Measure Performance