SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya

Optimizing Threads Schedule Alignments
to Expose the Interference Bug Pattern

Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results

Neelesh Bhattacharya
Olfat El-Mahi, Etienne Duclos, Giovanni Beltrame, Giuliano Antoniol,
Sébastien Le Digabel and Yann-Gaël Guéhéneuc
Department of Computer and Software Engineering
Department of Mathematics and Industrial Engineering
École Polytechnique de Montréal, Québec, Canada

SSBSE - September 30, 2012

Conclusion
Future Work
Pattern Trace Identification, Detection, and Enhancement in Java
SOftware Cost-effective Change and Evolution Research Lab
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions

Outline
Introduction
Interference Bug Pattern
Problem Statement
ReSP - The Virtual Platform Used
Research Questions
Approach
Algorithms Used

Approach
Algorithms Used

Programs Under Test (PUTs)

Programs Under
Test (PUTs)

Results

Results

Conclusion

Conclusion
Future Work

2 / 23

Future Work
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Introduction (1/2)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

3 / 23

Developers are seeking the use of concurrency
extensively
Extremely difficult to detect and remove data-race
and interference bugs
Might not detect a bug for system’s non-deterministic
components
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Introduction (2/2)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

4 / 23

Interference bug pattern is the most frequently
occurring and one of the hardest to expose
CHESS [1] requires lot of testing effort to find
interference bugs in concurrent systems
Need to reduce the effort for finding interference bugs
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Interference Bug Pattern

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

5 / 23

Multiple concurrent threads access a shared variable
At least one access is a write
The threads use no explicit mechanism to prevent
simultaneous access
Generalized form of classical data race interference
bug pattern
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Problem Statement

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

6 / 23

Expose interference bug pattern for Programs Under Test
(PUTs), using a set of optimization algorithms: Random,
Stochastic Hill Climbing and Simulated Annealing
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

7 / 23

ReSP - The Virtual Platform Used
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

ReSP - The Virtual Platform Used

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

7 / 23

No effect of the OS
No delay in the hardware
No cache effects
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

ReSP - The Virtual Platform Used

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

No effect of the OS
No delay in the hardware
No cache effects
Thus our focus is only on the bug inherent in the code

7 / 23
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Research Questions

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

8 / 23

How to maximize interference probability between
threads?
How the search space dimension impacts the search
algorithm performance?
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Approach (1/4)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

9 / 23

No delay injected
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Approach (2/4)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

10 / 23

Single delay injected
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

11 / 23

Approach (3/4)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

12 / 23

Approach (4/4)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Algorithms Used

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

13 / 23

Stochastic Hill Climbing (SHC)
Simulated Annealing (SA)
Random (RND)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

14 / 23

Programs Under Test (PUTs)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Programs Under Test (PUTs)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

14 / 23

Synthetic Programs
Matrix Multiplication (MM)
Count Shared Data (CSD)
Average of Numbers (AvN)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Programs Under Test (PUTs)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement

Synthetic Programs
Matrix Multiplication (MM)
Count Shared Data (CSD)
Average of Numbers (AvN)

ReSP - The Virtual
Platform Used
Research
Questions

Real World Programs

Approach

CFFT

Algorithms Used

CFFT6

Programs Under
Test (PUTs)

FFMPEG

Results
Conclusion
Future Work

14 / 23
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Results (1/5)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

15 / 23

RND, SHC, and SA for search space upto 10Ms delay
(RQ1)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Results (2/5)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

16 / 23

RND, SHC, and SA for search space upto 1Ms delay
(RQ2)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Results (3/5)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

17 / 23

RND, SHC, and SA for search space upto 10s delay
(RQ2)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Results (4/5)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

18 / 23

RND, SHC, and SA for search space upto 1s delay (RQ2)
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Results (5/5)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

19 / 23

Execution Times for Real-World Applications in ms
SA
HC
RND

CFFT
1 ×106
3118
3578
113521

1×107
5224
4976
107586

CFFT6
1×106
27443
27328
342523

1×107
2041
21943
339951

FFMPEG
1×106
1562
1378
59599

1×107
4672
5100
133345
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Conclusion (1/2)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

20 / 23

Proposed an approach to expose interference bugs
in multi-threaded software systems
Novel fitness function to allow exposing thread
interference
Reported results of our fitness function and the three
search algorithms on six multi-threaded programs
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Conclusion (2/2)

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement

For small search spaces, even a simple random
strategy may suffice

ReSP - The Virtual
Platform Used

In large search spaces, SA outperforms SHC
marginally

Research
Questions

Random performs the worst among all approaches

Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

21 / 23
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern

Future Work

Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

22 / 23

Verify the efficiency of our proposed approach on
real-time, more complex programs
Use more complex data structures such as pipes,
shared memories or sockets
Verify our approach on real hardware platform
Compare our results with Genetic Algorithm and
Tabu Search
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

23 / 23

Summary
We propose an optimization approach to maximize
interference probability between threads
We framed and answered two research questions:
How to maximize interference probability in threads?
How search space dimension impacts search
algorithms?

Simulated Annealing is marginally the best approach
to maximize interference bug
Varying the search space affects the algorithm
performances
Optimizing
Threads Schedule
Alignments to
Expose the
Interference Bug
Pattern
Neelesh
Bhattacharya
Introduction
Interference Bug
Pattern
Problem
Statement
ReSP - The Virtual
Platform Used
Research
Questions
Approach
Algorithms Used
Programs Under
Test (PUTs)
Results
Conclusion
Future Work

23 / 23

Summary
We propose an optimization approach to maximize
interference probability between threads
We framed and answered two research questions:
How to maximize interference probability in threads?
How search space dimension impacts search
algorithms?

Simulated Annealing is marginally the best approach
to maximize interference bug
Varying the search space affects the algorithm
performances

Contenu connexe

Tendances

A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsAhmed Magdy Ezzeldin, MSc.
 
Instance Space Analysis for Search Based Software Engineering
Instance Space Analysis for Search Based Software EngineeringInstance Space Analysis for Search Based Software Engineering
Instance Space Analysis for Search Based Software EngineeringAldeida Aleti
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTscatherinewall
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testingjfrchicanog
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Feng Zhang
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorTim Menzies
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...RAKESH RANA
 
Speeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceSpeeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceAnnibale Panichella
 
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to ValidityControlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validityalessio_ferrari
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...Chakkrit (Kla) Tantithamthavorn
 
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
 
AI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsAI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsChakkrit (Kla) Tantithamthavorn
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Vrije Universiteit Brussel
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyTim Menzies
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Chakkrit (Kla) Tantithamthavorn
 
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
 

Tendances (17)

A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
Instance Space Analysis for Search Based Software Engineering
Instance Space Analysis for Search Based Software EngineeringInstance Space Analysis for Search Based Software Engineering
Instance Space Analysis for Search Based Software Engineering
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testing
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
 
Using Developer Information as a Prediction Factor
Using Developer Information as a Prediction FactorUsing Developer Information as a Prediction Factor
Using Developer Information as a Prediction Factor
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...
 
Speeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational IntelligenceSpeeding-up Software Testing With Computational Intelligence
Speeding-up Software Testing With Computational Intelligence
 
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to ValidityControlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
 
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...
 
AI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOpsAI-Driven Software Quality Assurance in the Age of DevOps
AI-Driven Software Quality Assurance in the Age of DevOps
 
Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...Search-based testing of procedural programs:iterative single-target or multi-...
Search-based testing of procedural programs:iterative single-target or multi-...
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by Analogy
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
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
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 

En vedette

Icsm07 tooldemo.pdf
Icsm07 tooldemo.pdfIcsm07 tooldemo.pdf
Icsm07 tooldemo.pdfPtidej Team
 
Software Design Patterns in Theory
Software Design Patterns in TheorySoftware Design Patterns in Theory
Software Design Patterns in TheoryPtidej Team
 
Quality and Software Design Patterns
Quality and Software Design PatternsQuality and Software Design Patterns
Quality and Software Design PatternsPtidej Team
 
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesAsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesPtidej Team
 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in PracticePtidej Team
 

En vedette (16)

Wcre12b.ppt
Wcre12b.pptWcre12b.ppt
Wcre12b.ppt
 
Ppap13a.ppt
Ppap13a.pptPpap13a.ppt
Ppap13a.ppt
 
Ssbse12a.ppt
Ssbse12a.pptSsbse12a.ppt
Ssbse12a.ppt
 
Wcre12c.ppt
Wcre12c.pptWcre12c.ppt
Wcre12c.ppt
 
Wcre13c.pdf
Wcre13c.pdfWcre13c.pdf
Wcre13c.pdf
 
MSR Asia Summit
MSR Asia SummitMSR Asia Summit
MSR Asia Summit
 
Mribp13.ppt
Mribp13.pptMribp13.ppt
Mribp13.ppt
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Ppap13b.ppt
Ppap13b.pptPpap13b.ppt
Ppap13b.ppt
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 
Icsm07 tooldemo.pdf
Icsm07 tooldemo.pdfIcsm07 tooldemo.pdf
Icsm07 tooldemo.pdf
 
Software Design Patterns in Theory
Software Design Patterns in TheorySoftware Design Patterns in Theory
Software Design Patterns in Theory
 
Quality and Software Design Patterns
Quality and Software Design PatternsQuality and Software Design Patterns
Quality and Software Design Patterns
 
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesAsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in Practice
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 

Similaire à Ssbse12b.ppt

Natural Computing for Vehicular Networks
Natural Computing for Vehicular NetworksNatural Computing for Vehicular Networks
Natural Computing for Vehicular NetworksJamal Toutouh, PhD
 
Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2gregoryg
 
Question Answering System using machine learning approach
Question Answering System using machine learning approachQuestion Answering System using machine learning approach
Question Answering System using machine learning approachGarima Nanda
 
An enhanced pairwise search approach for generating
An enhanced pairwise search approach for generatingAn enhanced pairwise search approach for generating
An enhanced pairwise search approach for generatingAlexander Decker
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentFrancis Palma
 
COSMOS1_Scitech_2014_Ali
COSMOS1_Scitech_2014_AliCOSMOS1_Scitech_2014_Ali
COSMOS1_Scitech_2014_AliMDO_Lab
 
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...IAEME Publication
 
Assessing the Reliability of a Human Estimator
Assessing the Reliability of a Human EstimatorAssessing the Reliability of a Human Estimator
Assessing the Reliability of a Human EstimatorTim Menzies
 
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...Daniel Valcarce
 
Manta ray optimized deep contextualized bi-directional long short-term memor...
Manta ray optimized deep contextualized bi-directional long  short-term memor...Manta ray optimized deep contextualized bi-directional long  short-term memor...
Manta ray optimized deep contextualized bi-directional long short-term memor...IJECEIAES
 
Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...
Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...
Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...Ilham Amezzane
 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...csandit
 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...cscpconf
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolKellyton Brito
 
Issues in AI product development and practices in audio applications
Issues in AI product development and practices in audio applicationsIssues in AI product development and practices in audio applications
Issues in AI product development and practices in audio applicationsTaesu Kim
 
Presentation
PresentationPresentation
Presentationbutest
 

Similaire à Ssbse12b.ppt (20)

Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
Natural Computing for Vehicular Networks
Natural Computing for Vehicular NetworksNatural Computing for Vehicular Networks
Natural Computing for Vehicular Networks
 
Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2
 
Question Answering System using machine learning approach
Question Answering System using machine learning approachQuestion Answering System using machine learning approach
Question Answering System using machine learning approach
 
An enhanced pairwise search approach for generating
An enhanced pairwise search approach for generatingAn enhanced pairwise search approach for generating
An enhanced pairwise search approach for generating
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software Development
 
COSMOS1_Scitech_2014_Ali
COSMOS1_Scitech_2014_AliCOSMOS1_Scitech_2014_Ali
COSMOS1_Scitech_2014_Ali
 
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
EXPERIMENTAL EVALUATION AND RESULT DISCUSSION OF METAMORPHIC TESTING AUTOMATI...
 
Assessing the Reliability of a Human Estimator
Assessing the Reliability of a Human EstimatorAssessing the Reliability of a Human Estimator
Assessing the Reliability of a Human Estimator
 
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
 
Collaborative Approach to Supporting Research & High Performance Computing
Collaborative Approach to Supporting Research & High Performance ComputingCollaborative Approach to Supporting Research & High Performance Computing
Collaborative Approach to Supporting Research & High Performance Computing
 
Manta ray optimized deep contextualized bi-directional long short-term memor...
Manta ray optimized deep contextualized bi-directional long  short-term memor...Manta ray optimized deep contextualized bi-directional long  short-term memor...
Manta ray optimized deep contextualized bi-directional long short-term memor...
 
Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...
Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...
Hardware Acceleration of SVM Training for Real-time Embedded Systems: An Over...
 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
 
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
AUTOMATIC GENERATION AND OPTIMIZATION OF TEST DATA USING HARMONY SEARCH ALGOR...
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
 
Issues in AI product development and practices in audio applications
Issues in AI product development and practices in audio applicationsIssues in AI product development and practices in audio applications
Issues in AI product development and practices in audio applications
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
C044061518
C044061518C044061518
C044061518
 
Presentation
PresentationPresentation
Presentation
 

Plus de Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

Plus de Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Dernier

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Ssbse12b.ppt

  • 1. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Neelesh Bhattacharya Olfat El-Mahi, Etienne Duclos, Giovanni Beltrame, Giuliano Antoniol, Sébastien Le Digabel and Yann-Gaël Guéhéneuc Department of Computer and Software Engineering Department of Mathematics and Industrial Engineering École Polytechnique de Montréal, Québec, Canada SSBSE - September 30, 2012 Conclusion Future Work Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Outline Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Approach Algorithms Used Programs Under Test (PUTs) Programs Under Test (PUTs) Results Results Conclusion Conclusion Future Work 2 / 23 Future Work
  • 3. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Introduction (1/2) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 3 / 23 Developers are seeking the use of concurrency extensively Extremely difficult to detect and remove data-race and interference bugs Might not detect a bug for system’s non-deterministic components
  • 4. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Introduction (2/2) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 4 / 23 Interference bug pattern is the most frequently occurring and one of the hardest to expose CHESS [1] requires lot of testing effort to find interference bugs in concurrent systems Need to reduce the effort for finding interference bugs
  • 5. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 5 / 23 Multiple concurrent threads access a shared variable At least one access is a write The threads use no explicit mechanism to prevent simultaneous access Generalized form of classical data race interference bug pattern
  • 6. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Problem Statement Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 6 / 23 Expose interference bug pattern for Programs Under Test (PUTs), using a set of optimization algorithms: Random, Stochastic Hill Climbing and Simulated Annealing
  • 7. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 7 / 23 ReSP - The Virtual Platform Used
  • 8. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern ReSP - The Virtual Platform Used Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 7 / 23 No effect of the OS No delay in the hardware No cache effects
  • 9. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern ReSP - The Virtual Platform Used Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work No effect of the OS No delay in the hardware No cache effects Thus our focus is only on the bug inherent in the code 7 / 23
  • 10. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Research Questions Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 8 / 23 How to maximize interference probability between threads? How the search space dimension impacts the search algorithm performance?
  • 11. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Approach (1/4) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 9 / 23 No delay injected
  • 12. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Approach (2/4) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 10 / 23 Single delay injected
  • 13. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 11 / 23 Approach (3/4)
  • 14. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 12 / 23 Approach (4/4)
  • 15. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Algorithms Used Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 13 / 23 Stochastic Hill Climbing (SHC) Simulated Annealing (SA) Random (RND)
  • 16. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 14 / 23 Programs Under Test (PUTs)
  • 17. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Programs Under Test (PUTs) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 14 / 23 Synthetic Programs Matrix Multiplication (MM) Count Shared Data (CSD) Average of Numbers (AvN)
  • 18. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Programs Under Test (PUTs) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement Synthetic Programs Matrix Multiplication (MM) Count Shared Data (CSD) Average of Numbers (AvN) ReSP - The Virtual Platform Used Research Questions Real World Programs Approach CFFT Algorithms Used CFFT6 Programs Under Test (PUTs) FFMPEG Results Conclusion Future Work 14 / 23
  • 19. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Results (1/5) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 15 / 23 RND, SHC, and SA for search space upto 10Ms delay (RQ1)
  • 20. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Results (2/5) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 16 / 23 RND, SHC, and SA for search space upto 1Ms delay (RQ2)
  • 21. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Results (3/5) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 17 / 23 RND, SHC, and SA for search space upto 10s delay (RQ2)
  • 22. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Results (4/5) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 18 / 23 RND, SHC, and SA for search space upto 1s delay (RQ2)
  • 23. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Results (5/5) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 19 / 23 Execution Times for Real-World Applications in ms SA HC RND CFFT 1 ×106 3118 3578 113521 1×107 5224 4976 107586 CFFT6 1×106 27443 27328 342523 1×107 2041 21943 339951 FFMPEG 1×106 1562 1378 59599 1×107 4672 5100 133345
  • 24. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Conclusion (1/2) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 20 / 23 Proposed an approach to expose interference bugs in multi-threaded software systems Novel fitness function to allow exposing thread interference Reported results of our fitness function and the three search algorithms on six multi-threaded programs
  • 25. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Conclusion (2/2) Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement For small search spaces, even a simple random strategy may suffice ReSP - The Virtual Platform Used In large search spaces, SA outperforms SHC marginally Research Questions Random performs the worst among all approaches Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 21 / 23
  • 26. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Future Work Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 22 / 23 Verify the efficiency of our proposed approach on real-time, more complex programs Use more complex data structures such as pipes, shared memories or sockets Verify our approach on real hardware platform Compare our results with Genetic Algorithm and Tabu Search
  • 27. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 23 / 23 Summary We propose an optimization approach to maximize interference probability between threads We framed and answered two research questions: How to maximize interference probability in threads? How search space dimension impacts search algorithms? Simulated Annealing is marginally the best approach to maximize interference bug Varying the search space affects the algorithm performances
  • 28. Optimizing Threads Schedule Alignments to Expose the Interference Bug Pattern Neelesh Bhattacharya Introduction Interference Bug Pattern Problem Statement ReSP - The Virtual Platform Used Research Questions Approach Algorithms Used Programs Under Test (PUTs) Results Conclusion Future Work 23 / 23 Summary We propose an optimization approach to maximize interference probability between threads We framed and answered two research questions: How to maximize interference probability in threads? How search space dimension impacts search algorithms? Simulated Annealing is marginally the best approach to maximize interference bug Varying the search space affects the algorithm performances