SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Ehsan Salamati Taba, Foutse Khomh,
Ying Zou, Meiyappan Nagappan,
Ahmed E. Hassan
1
2
Predict Bugs
Model
3
Past Defects, History of Churn (Zimmermann, Hassan et al.)
Topic Modeling (Chen et al.)
4
 not technically incorrect and don't
prevent a system from functioning
 weaknesses in design
5
Indicate a
deeper
problem in
the system
6
Antipatterns indicate weaknesses in the design
that may increase the risk for bugs in the future.
(Fowler 1999)
7
CVS Repository
Mining Source Code
Repositories
Detecting
Antipatterns
Mining Bug
RepositoriesBugzilla
Calculating Metrics Analyzing
RQ1
RQ2
RQ3
9
10
Systems Release(#) Churn LOCs
Eclipse 2.0 - 3.3.1(12) 148,454 26,209,669
ArgoUML 0.12 - 0.26.2(9) 21,427 2,025,730
Studied SystemsStudied
Systems
12
 13 different antipatterns
 DECOR (Moha et al.)
# of Antipatterns
# Files
Systems #Antipatterns
Eclipse 273,766
ArgoUML 15,100
RQ1: Do antipatterns affect the density of bugs in
files?
RQ2: Do the proposed antipattern based metrics
provide additional explanatory power over
traditional metrics?
RQ3: Can we improve traditional bug prediction
models with antipatterns information?
14
Density of bugs in the files with antipatterns
and the other files without antipatterns is the
same.
15
16
Systems Releases(#) DA – DNA> 0 p-value<0.05
Eclipse 12 8 8
ArgoUML 9 6 6
Files with
Antipatterns
Density of Bugs
Files without
Antipatterns
Density of Bugs
RQ1: Do antipatterns affect the density of bugs in
files?
RQ2: Do the proposed antipattern based metrics
provide additional explanatory power over
traditional metrics?
RQ3: Can we improve traditional bug prediction
models with antipatterns information?
17
 Average Number of Antipatterns (ANA)
 Antipattern Cumulative Pairwise Differences
(ACPD)
18
 Antipattern Recurrence Length(ARL)
Antipattern Complexity Metric (ACM)
19
1.0 2.0 3.0 4.0 5.0 6.0
a.java
b.java
c.java
3 4 0 2 1 3
4 5 1 0 0 3
0 6 5 4 5 4
ANA(a.java) =2.16, ARL(a.java) = 18.76,
ACPD(a.java) = 0
20
21
 Provide additional explanatory power over
traditional metrics
 ARL shows the biggest improvement
RQ1: Do antipatterns affect the density of bugs in
files?
RQ2: Do the proposed antipattern based metrics
provide additional explanatory power over
traditional metrics?
RQ3: Can we improve traditional bug prediction
models with antipatterns information?
22
Step-wise analysis
1) Removing Independent
Variables
2) Collinearity Analysis
23
Metric name Description
LOC Source lines of codes
MLOC Executable lines of codes
PAR Number of parameters
NOF Number of attributes
NOM Number of methods
NOC Number of children
VG Cyclomatic complexity
DIT Depth of inheritance tree
LCOM Lack of cohesion of methods
NOT Number of classes
WMC Number of weighted methods per class
PRE Number of pre-released bugs
Churn Number of lines of code added
modified or deleted
0
2
4
6
8
Churn PRE LOC MLOC NOT NOF NOM ACM ACPD ARL
ArgoUML
24
0
2
4
6
8
10
12
Churn PRE LOC MLOC NOT NOF NOM ACM ACPD ARL
Eclipse
 ARL remained statistically significant and
had a low collinearity with other metrics
#Versions#Versions
F-measure
25
 ARL can improve cross-
system bug prediction
on the two studied
systems
Predicting bugs using antipatterns

Mais conteúdo relacionado

Semelhante a Predicting bugs using antipatterns

A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug predictionMartin Pinzger
 
Quantitive Time Series Analysis of Malware and Vulnerability Trends
Quantitive Time Series Analysis of Malware and Vulnerability TrendsQuantitive Time Series Analysis of Malware and Vulnerability Trends
Quantitive Time Series Analysis of Malware and Vulnerability Trendsamiable_indian
 
Dependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsDependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsRoberto Natella
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesThomas Zimmermann
 
A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionMartin Pinzger
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software developmentMartin Pinzger
 
FPGA Implementation of a GA
FPGA Implementation of a GAFPGA Implementation of a GA
FPGA Implementation of a GAHocine Merabti
 
Esem2010 shihab
Esem2010 shihabEsem2010 shihab
Esem2010 shihabSAIL_QU
 
Architectural Simulation of Distributed ECU Systems
Architectural Simulation of Distributed ECU SystemsArchitectural Simulation of Distributed ECU Systems
Architectural Simulation of Distributed ECU SystemsJoachim Schlosser
 
Bayesian network based software reliability prediction
Bayesian network based software reliability predictionBayesian network based software reliability prediction
Bayesian network based software reliability predictionJULIO GONZALEZ SANZ
 
Exploratory Analysis of the Performance of a Configurable CEGAR Framework
Exploratory Analysis of the Performance of a Configurable CEGAR FrameworkExploratory Analysis of the Performance of a Configurable CEGAR Framework
Exploratory Analysis of the Performance of a Configurable CEGAR FrameworkAkos Hajdu
 
deepswarm optimising convolutional neural networks using swarm intelligence (...
deepswarm optimising convolutional neural networks using swarm intelligence (...deepswarm optimising convolutional neural networks using swarm intelligence (...
deepswarm optimising convolutional neural networks using swarm intelligence (...Amir Shokri
 
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...jsvetter
 
Detecting Discontinuties in Large Scale Systems
Detecting  Discontinuties in Large Scale SystemsDetecting  Discontinuties in Large Scale Systems
Detecting Discontinuties in Large Scale Systemsharoonmalik786
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shangSAIL_QU
 

Semelhante a Predicting bugs using antipatterns (20)

A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug prediction
 
Quantitive Time Series Analysis of Malware and Vulnerability Trends
Quantitive Time Series Analysis of Malware and Vulnerability TrendsQuantitive Time Series Analysis of Malware and Vulnerability Trends
Quantitive Time Series Analysis of Malware and Vulnerability Trends
 
Dependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsDependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software Bugs
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug Prediction
 
BH-US-06-Bilar.pdf
BH-US-06-Bilar.pdfBH-US-06-Bilar.pdf
BH-US-06-Bilar.pdf
 
CORRECT-ICSE2016
CORRECT-ICSE2016CORRECT-ICSE2016
CORRECT-ICSE2016
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
 
FPGA Implementation of a GA
FPGA Implementation of a GAFPGA Implementation of a GA
FPGA Implementation of a GA
 
Esem2010 shihab
Esem2010 shihabEsem2010 shihab
Esem2010 shihab
 
Architectural Simulation of Distributed ECU Systems
Architectural Simulation of Distributed ECU SystemsArchitectural Simulation of Distributed ECU Systems
Architectural Simulation of Distributed ECU Systems
 
Bayesian network based software reliability prediction
Bayesian network based software reliability predictionBayesian network based software reliability prediction
Bayesian network based software reliability prediction
 
Ashg2014 grc workshop_schneider
Ashg2014 grc workshop_schneiderAshg2014 grc workshop_schneider
Ashg2014 grc workshop_schneider
 
My
MyMy
My
 
Exploratory Analysis of the Performance of a Configurable CEGAR Framework
Exploratory Analysis of the Performance of a Configurable CEGAR FrameworkExploratory Analysis of the Performance of a Configurable CEGAR Framework
Exploratory Analysis of the Performance of a Configurable CEGAR Framework
 
Folker Meyer: Metagenomic Data Annotation
Folker Meyer: Metagenomic Data AnnotationFolker Meyer: Metagenomic Data Annotation
Folker Meyer: Metagenomic Data Annotation
 
deepswarm optimising convolutional neural networks using swarm intelligence (...
deepswarm optimising convolutional neural networks using swarm intelligence (...deepswarm optimising convolutional neural networks using swarm intelligence (...
deepswarm optimising convolutional neural networks using swarm intelligence (...
 
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
 
Detecting Discontinuties in Large Scale Systems
Detecting  Discontinuties in Large Scale SystemsDetecting  Discontinuties in Large Scale Systems
Detecting Discontinuties in Large Scale Systems
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shang
 

Mais de Foutse Khomh

Talk-Foutse-SrangeLoop.pdf
Talk-Foutse-SrangeLoop.pdfTalk-Foutse-SrangeLoop.pdf
Talk-Foutse-SrangeLoop.pdfFoutse Khomh
 
Foutse_MSR Vision keynote.pptx
Foutse_MSR Vision keynote.pptxFoutse_MSR Vision keynote.pptx
Foutse_MSR Vision keynote.pptxFoutse Khomh
 
Stack overflow code_laundering
Stack overflow code_launderingStack overflow code_laundering
Stack overflow code_launderingFoutse Khomh
 
Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness
Mining the Relationship between Anti-patterns Dependencies and Fault-PronenessMining the Relationship between Anti-patterns Dependencies and Fault-Proneness
Mining the Relationship between Anti-patterns Dependencies and Fault-PronenessFoutse Khomh
 
How does Context affect the Distribution of Software Maintainability Metrics?
How does Context affect the Distribution of Software Maintainability Metrics?How does Context affect the Distribution of Software Maintainability Metrics?
How does Context affect the Distribution of Software Maintainability Metrics?Foutse Khomh
 
On Rapid Releases and Software Testing
On Rapid Releases and Software TestingOn Rapid Releases and Software Testing
On Rapid Releases and Software TestingFoutse Khomh
 
Adapting Linux for Mobile Platforms: An Empirical Study of Android
Adapting Linux for Mobile Platforms: An Empirical Study of AndroidAdapting Linux for Mobile Platforms: An Empirical Study of Android
Adapting Linux for Mobile Platforms: An Empirical Study of AndroidFoutse Khomh
 
Recovering Commit Dependencies for Selective Code Integration in Software Pro...
Recovering Commit Dependencies for Selective Code Integration in Software Pro...Recovering Commit Dependencies for Selective Code Integration in Software Pro...
Recovering Commit Dependencies for Selective Code Integration in Software Pro...Foutse Khomh
 
Late Propagation in Software Clones
Late Propagation in Software ClonesLate Propagation in Software Clones
Late Propagation in Software ClonesFoutse Khomh
 
An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...
An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...
An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...Foutse Khomh
 
Do Faster Releases Improve Software Quality?
Do Faster Releases Improve Software Quality? Do Faster Releases Improve Software Quality?
Do Faster Releases Improve Software Quality? Foutse Khomh
 

Mais de Foutse Khomh (12)

Talk-Foutse-SrangeLoop.pdf
Talk-Foutse-SrangeLoop.pdfTalk-Foutse-SrangeLoop.pdf
Talk-Foutse-SrangeLoop.pdf
 
Foutse_Khomh.pptx
Foutse_Khomh.pptxFoutse_Khomh.pptx
Foutse_Khomh.pptx
 
Foutse_MSR Vision keynote.pptx
Foutse_MSR Vision keynote.pptxFoutse_MSR Vision keynote.pptx
Foutse_MSR Vision keynote.pptx
 
Stack overflow code_laundering
Stack overflow code_launderingStack overflow code_laundering
Stack overflow code_laundering
 
Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness
Mining the Relationship between Anti-patterns Dependencies and Fault-PronenessMining the Relationship between Anti-patterns Dependencies and Fault-Proneness
Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness
 
How does Context affect the Distribution of Software Maintainability Metrics?
How does Context affect the Distribution of Software Maintainability Metrics?How does Context affect the Distribution of Software Maintainability Metrics?
How does Context affect the Distribution of Software Maintainability Metrics?
 
On Rapid Releases and Software Testing
On Rapid Releases and Software TestingOn Rapid Releases and Software Testing
On Rapid Releases and Software Testing
 
Adapting Linux for Mobile Platforms: An Empirical Study of Android
Adapting Linux for Mobile Platforms: An Empirical Study of AndroidAdapting Linux for Mobile Platforms: An Empirical Study of Android
Adapting Linux for Mobile Platforms: An Empirical Study of Android
 
Recovering Commit Dependencies for Selective Code Integration in Software Pro...
Recovering Commit Dependencies for Selective Code Integration in Software Pro...Recovering Commit Dependencies for Selective Code Integration in Software Pro...
Recovering Commit Dependencies for Selective Code Integration in Software Pro...
 
Late Propagation in Software Clones
Late Propagation in Software ClonesLate Propagation in Software Clones
Late Propagation in Software Clones
 
An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...
An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...
An Entropy Evaluation Approach for Triaging Field Crashes: A Case Study of Mo...
 
Do Faster Releases Improve Software Quality?
Do Faster Releases Improve Software Quality? Do Faster Releases Improve Software Quality?
Do Faster Releases Improve Software Quality?
 

Último

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Predicting bugs using antipatterns

  • 1. Ehsan Salamati Taba, Foutse Khomh, Ying Zou, Meiyappan Nagappan, Ahmed E. Hassan 1
  • 2. 2
  • 3. Predict Bugs Model 3 Past Defects, History of Churn (Zimmermann, Hassan et al.) Topic Modeling (Chen et al.)
  • 4. 4
  • 5.  not technically incorrect and don't prevent a system from functioning  weaknesses in design 5
  • 7. Antipatterns indicate weaknesses in the design that may increase the risk for bugs in the future. (Fowler 1999) 7
  • 8. CVS Repository Mining Source Code Repositories Detecting Antipatterns Mining Bug RepositoriesBugzilla Calculating Metrics Analyzing RQ1 RQ2 RQ3 9
  • 9. 10 Systems Release(#) Churn LOCs Eclipse 2.0 - 3.3.1(12) 148,454 26,209,669 ArgoUML 0.12 - 0.26.2(9) 21,427 2,025,730 Studied SystemsStudied Systems
  • 10. 12  13 different antipatterns  DECOR (Moha et al.) # of Antipatterns # Files Systems #Antipatterns Eclipse 273,766 ArgoUML 15,100
  • 11. RQ1: Do antipatterns affect the density of bugs in files? RQ2: Do the proposed antipattern based metrics provide additional explanatory power over traditional metrics? RQ3: Can we improve traditional bug prediction models with antipatterns information? 14
  • 12. Density of bugs in the files with antipatterns and the other files without antipatterns is the same. 15
  • 13. 16 Systems Releases(#) DA – DNA> 0 p-value<0.05 Eclipse 12 8 8 ArgoUML 9 6 6 Files with Antipatterns Density of Bugs Files without Antipatterns Density of Bugs
  • 14. RQ1: Do antipatterns affect the density of bugs in files? RQ2: Do the proposed antipattern based metrics provide additional explanatory power over traditional metrics? RQ3: Can we improve traditional bug prediction models with antipatterns information? 17
  • 15.  Average Number of Antipatterns (ANA)  Antipattern Cumulative Pairwise Differences (ACPD) 18  Antipattern Recurrence Length(ARL) Antipattern Complexity Metric (ACM)
  • 16. 19 1.0 2.0 3.0 4.0 5.0 6.0 a.java b.java c.java 3 4 0 2 1 3 4 5 1 0 0 3 0 6 5 4 5 4 ANA(a.java) =2.16, ARL(a.java) = 18.76, ACPD(a.java) = 0
  • 17. 20
  • 18. 21  Provide additional explanatory power over traditional metrics  ARL shows the biggest improvement
  • 19. RQ1: Do antipatterns affect the density of bugs in files? RQ2: Do the proposed antipattern based metrics provide additional explanatory power over traditional metrics? RQ3: Can we improve traditional bug prediction models with antipatterns information? 22
  • 20. Step-wise analysis 1) Removing Independent Variables 2) Collinearity Analysis 23 Metric name Description LOC Source lines of codes MLOC Executable lines of codes PAR Number of parameters NOF Number of attributes NOM Number of methods NOC Number of children VG Cyclomatic complexity DIT Depth of inheritance tree LCOM Lack of cohesion of methods NOT Number of classes WMC Number of weighted methods per class PRE Number of pre-released bugs Churn Number of lines of code added modified or deleted
  • 21. 0 2 4 6 8 Churn PRE LOC MLOC NOT NOF NOM ACM ACPD ARL ArgoUML 24 0 2 4 6 8 10 12 Churn PRE LOC MLOC NOT NOF NOM ACM ACPD ARL Eclipse  ARL remained statistically significant and had a low collinearity with other metrics #Versions#Versions
  • 22. F-measure 25  ARL can improve cross- system bug prediction on the two studied systems