SlideShare a Scribd company logo
1 of 23
Predicting Defects for Eclipse for Eclipse ,[object Object],[object Object]
Summary Project   Eclipse (eclipse.org) Content Defect counts Complexity metrics Releases 2.0, 2.1, and 3.0 Level Packages and files URL www.st.cs.uni-sb.de/softevo/ More data Eclipse source code
Data Source Bugs Changes
Identifying Fixes ,[object Object],[object Object],[object Object],[object Object],Bugs Changes
Mapping Bugs ,[object Object],[object Object],[object Object],Bugs Changes
Eclipse Bugs
Obtaining Data
 
[object Object],[object Object],[object Object],[object Object],[object Object]
Predictions at Work
Eclipse Bug Data <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!-- comments --> <defects project=&quot;eclipse&quot; release=&quot;2.0&quot; dataversion=&quot;1.0&quot;> <plug-in name=&quot;platform-launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core.launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <compilationunit dir=&quot;/platform-launcher/library/&quot; base=&quot;Main.java&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot;/> </counts> </compilationunit> </package> </package> </package> </plug-in>
Eclipse Bug Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!-- comments --> <defects project=&quot;eclipse&quot; release=&quot;2.0&quot; dataversion=&quot;1.0&quot;> <plug-in name=&quot;platform-launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core.launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <compilationunit dir=&quot;/platform-launcher/library/&quot; base=&quot;Main.java&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot;/> </counts> </compilationunit> </package> </package> </package> </plug-in>
Eclipse Bugs
Where do bugs come from?
Is it the Developers? Does experience matter? Bug density correlates with experience!
How about Testing? Does  code coverage  predict bug density? Yes –  the more tests,  the more bugs!
History? I found lots of bugs here.  Will there be more? Yes!
How about Metrics? Do  code metrics  predict bug density? Yes! (but only with history)
Syntactic Tokens? Which  tokens predict bug density? imports • extends • implements
Eclipse Imports import org.eclipse.jdt.internal.compiler.lookup.*; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.util.*; ... import org.eclipse.pde.core.*; import org.eclipse.jface.wizard.*; import org.eclipse.ui.*; 14% of all components importing  ui show a post-release defect 71% of all components importing  compiler show a post-release defect Joint work with Adrian Schröter • Tom Zimmermann
Eclipse Imports Correlation with failure Correlation with success import org.eclipse.jdt.internal.compiler.lookup.*; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.util.*; ... import org.eclipse.pde.core.*; import org.eclipse.jface.wizard.*; import org.eclipse.ui.*;
What makes code buggy in the first place?
Eclipse Bug Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!-- comments --> <defects project=&quot;eclipse&quot; release=&quot;2.0&quot; dataversion=&quot;1.0&quot;> <plug-in name=&quot;platform-launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core.launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <compilationunit dir=&quot;/platform-launcher/library/&quot; base=&quot;Main.java&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot;/> </counts> </compilationunit> </package> </package> </package> </plug-in>

More Related Content

What's hot

OCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams APIOCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams APIGanesh Samarthyam
 
Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...
Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...
Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...Infinum
 
Con-FESS 2015 - Having Fun With Javassist
Con-FESS 2015 - Having Fun With JavassistCon-FESS 2015 - Having Fun With Javassist
Con-FESS 2015 - Having Fun With JavassistAnton Arhipov
 
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...Marcel Bruch
 
Intro to front-end testing
Intro to front-end testingIntro to front-end testing
Intro to front-end testingJuriy Zaytsev
 
Basic buffer overflow part1
Basic buffer overflow part1Basic buffer overflow part1
Basic buffer overflow part1Payampardaz
 
Test driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and MoleculeTest driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and MoleculeSerena Lorenzini
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongPROIDEA
 
Static Code Analysis: Keeping the Cost of Bug Fixing Down
Static Code Analysis:  Keeping the Cost of Bug Fixing DownStatic Code Analysis:  Keeping the Cost of Bug Fixing Down
Static Code Analysis: Keeping the Cost of Bug Fixing DownAndrey Karpov
 
Writing simple buffer_overflow_exploits
Writing simple buffer_overflow_exploitsWriting simple buffer_overflow_exploits
Writing simple buffer_overflow_exploitsD4rk357 a
 
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...Puppet
 
JUnit 5 - The Next Generation
JUnit 5 - The Next GenerationJUnit 5 - The Next Generation
JUnit 5 - The Next GenerationKostadin Golev
 
Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Marcel Bruch
 
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)Marco Balduzzi
 
The journey of asyncio adoption in instagram
The journey of asyncio adoption in instagramThe journey of asyncio adoption in instagram
The journey of asyncio adoption in instagramJimmy Lai
 

What's hot (20)

Python in Test automation
Python in Test automationPython in Test automation
Python in Test automation
 
OCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams APIOCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams API
 
Lucene application
Lucene applicationLucene application
Lucene application
 
Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...
Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...
Android Meetup Slovenia #5 - Don't go crashing my heart by Zeljko Plesac, Inf...
 
Con-FESS 2015 - Having Fun With Javassist
Con-FESS 2015 - Having Fun With JavassistCon-FESS 2015 - Having Fun With Javassist
Con-FESS 2015 - Having Fun With Javassist
 
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
Setting up Automated Error Reporting for your Eclipse RCP App and Eclipse IDE...
 
Intro to front-end testing
Intro to front-end testingIntro to front-end testing
Intro to front-end testing
 
Basic buffer overflow part1
Basic buffer overflow part1Basic buffer overflow part1
Basic buffer overflow part1
 
Test driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and MoleculeTest driven Infrastructure development with Ansible and Molecule
Test driven Infrastructure development with Ansible and Molecule
 
Async await...oh wait!
Async await...oh wait!Async await...oh wait!
Async await...oh wait!
 
Modern Python Testing
Modern Python TestingModern Python Testing
Modern Python Testing
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
 
Static Code Analysis: Keeping the Cost of Bug Fixing Down
Static Code Analysis:  Keeping the Cost of Bug Fixing DownStatic Code Analysis:  Keeping the Cost of Bug Fixing Down
Static Code Analysis: Keeping the Cost of Bug Fixing Down
 
Writing simple buffer_overflow_exploits
Writing simple buffer_overflow_exploitsWriting simple buffer_overflow_exploits
Writing simple buffer_overflow_exploits
 
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
 
JUnit 5 - The Next Generation
JUnit 5 - The Next GenerationJUnit 5 - The Next Generation
JUnit 5 - The Next Generation
 
Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...
 
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
 
The journey of asyncio adoption in instagram
The journey of asyncio adoption in instagramThe journey of asyncio adoption in instagram
The journey of asyncio adoption in instagram
 
React Testing
React TestingReact Testing
React Testing
 

Viewers also liked

soirée étudiantes 2
soirée étudiantes 2soirée étudiantes 2
soirée étudiantes 2guestfe9508
 
P2S J.Perrin Bilan2008
P2S J.Perrin Bilan2008P2S J.Perrin Bilan2008
P2S J.Perrin Bilan2008DFIE Lyon
 
Piratería del software cracker hacker
Piratería del software cracker   hacker Piratería del software cracker   hacker
Piratería del software cracker hacker maria291289
 
Lori Rhodes' Resume
Lori Rhodes' ResumeLori Rhodes' Resume
Lori Rhodes' ResumeLori Rhodes
 
DanutZbarcea-article-Vision no 67
DanutZbarcea-article-Vision no 67DanutZbarcea-article-Vision no 67
DanutZbarcea-article-Vision no 67Danut Zbarcea
 
rapport cours projet - overview
rapport cours projet - overviewrapport cours projet - overview
rapport cours projet - overviewJeanne Helluy
 
Site Histoire de L'Ecole Centrale de Lyon Présentation, Bilan et évolution
Site Histoire de L'Ecole Centrale de Lyon  Présentation,  Bilan et évolutionSite Histoire de L'Ecole Centrale de Lyon  Présentation,  Bilan et évolution
Site Histoire de L'Ecole Centrale de Lyon Présentation, Bilan et évolutionAlain Marois
 
Coccinelledan
CoccinelledanCoccinelledan
Coccinelledanzet
 
Josemogollon conflictos ambientales
Josemogollon conflictos ambientalesJosemogollon conflictos ambientales
Josemogollon conflictos ambientalesjosemogollonuft
 

Viewers also liked (20)

Crisantemo
CrisantemoCrisantemo
Crisantemo
 
soirée étudiantes 2
soirée étudiantes 2soirée étudiantes 2
soirée étudiantes 2
 
Airbags B M W
Airbags B M WAirbags B M W
Airbags B M W
 
P2S J.Perrin Bilan2008
P2S J.Perrin Bilan2008P2S J.Perrin Bilan2008
P2S J.Perrin Bilan2008
 
Meilleuresphotosgags2
Meilleuresphotosgags2Meilleuresphotosgags2
Meilleuresphotosgags2
 
B2II
B2IIB2II
B2II
 
Natures
NaturesNatures
Natures
 
Piratería del software cracker hacker
Piratería del software cracker   hacker Piratería del software cracker   hacker
Piratería del software cracker hacker
 
Lori Rhodes' Resume
Lori Rhodes' ResumeLori Rhodes' Resume
Lori Rhodes' Resume
 
La vie d Unhomme 1
La vie d Unhomme 1La vie d Unhomme 1
La vie d Unhomme 1
 
Sapeur teste
Sapeur testeSapeur teste
Sapeur teste
 
DanutZbarcea-article-Vision no 67
DanutZbarcea-article-Vision no 67DanutZbarcea-article-Vision no 67
DanutZbarcea-article-Vision no 67
 
Hôtel Les quatre fleurs
Hôtel Les quatre fleurs Hôtel Les quatre fleurs
Hôtel Les quatre fleurs
 
rapport cours projet - overview
rapport cours projet - overviewrapport cours projet - overview
rapport cours projet - overview
 
Site Histoire de L'Ecole Centrale de Lyon Présentation, Bilan et évolution
Site Histoire de L'Ecole Centrale de Lyon  Présentation,  Bilan et évolutionSite Histoire de L'Ecole Centrale de Lyon  Présentation,  Bilan et évolution
Site Histoire de L'Ecole Centrale de Lyon Présentation, Bilan et évolution
 
Leshomme
LeshommeLeshomme
Leshomme
 
Troisgars
TroisgarsTroisgars
Troisgars
 
Coccinelledan
CoccinelledanCoccinelledan
Coccinelledan
 
Hôtel Concorde
Hôtel Concorde Hôtel Concorde
Hôtel Concorde
 
Josemogollon conflictos ambientales
Josemogollon conflictos ambientalesJosemogollon conflictos ambientales
Josemogollon conflictos ambientales
 

Similar to Predicting Defects for Eclipse

Develop At The Speed Of Thought
Develop At The Speed Of ThoughtDevelop At The Speed Of Thought
Develop At The Speed Of ThoughtRoy Ganor
 
An Introduction to Solr
An Introduction to SolrAn Introduction to Solr
An Introduction to Solrtomhill
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing frameworkIndicThreads
 
Introduction To Eclipse RCP
Introduction To Eclipse RCPIntroduction To Eclipse RCP
Introduction To Eclipse RCPwhbath
 
Dan Holevoet, Google
Dan Holevoet, GoogleDan Holevoet, Google
Dan Holevoet, Google500 Startups
 
Windows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best PracticesWindows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best PracticesSriram Krishnan
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Michiel Rook
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructurePamela Fox
 
Krazykoder struts2 plugins
Krazykoder struts2 pluginsKrazykoder struts2 plugins
Krazykoder struts2 pluginsKrazy Koder
 
Continuous integration with Git & CI Joe
Continuous integration with Git & CI JoeContinuous integration with Git & CI Joe
Continuous integration with Git & CI JoeShawn Price
 
Hackin' Devices with Ruby
Hackin' Devices with RubyHackin' Devices with Ruby
Hackin' Devices with RubyKit Plummer
 
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenWebtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenThorsten Kamann
 
JSUG - Spring by Christoph Pickl
JSUG - Spring by Christoph PicklJSUG - Spring by Christoph Pickl
JSUG - Spring by Christoph PicklChristoph Pickl
 

Similar to Predicting Defects for Eclipse (20)

Develop At The Speed Of Thought
Develop At The Speed Of ThoughtDevelop At The Speed Of Thought
Develop At The Speed Of Thought
 
An Introduction to Solr
An Introduction to SolrAn Introduction to Solr
An Introduction to Solr
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing framework
 
ANT
ANTANT
ANT
 
Presentation log4 j
Presentation log4 jPresentation log4 j
Presentation log4 j
 
Presentation log4 j
Presentation log4 jPresentation log4 j
Presentation log4 j
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
 
Introduction To Eclipse RCP
Introduction To Eclipse RCPIntroduction To Eclipse RCP
Introduction To Eclipse RCP
 
Dan Holevoet, Google
Dan Holevoet, GoogleDan Holevoet, Google
Dan Holevoet, Google
 
Windows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best PracticesWindows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best Practices
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Krazykoder struts2 plugins
Krazykoder struts2 pluginsKrazykoder struts2 plugins
Krazykoder struts2 plugins
 
Continuous integration with Git & CI Joe
Continuous integration with Git & CI JoeContinuous integration with Git & CI Joe
Continuous integration with Git & CI Joe
 
Hackin' Devices with Ruby
Hackin' Devices with RubyHackin' Devices with Ruby
Hackin' Devices with Ruby
 
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenWebtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
 
Integration Testing in Python
Integration Testing in PythonIntegration Testing in Python
Integration Testing in Python
 
JSUG - Spring by Christoph Pickl
JSUG - Spring by Christoph PicklJSUG - Spring by Christoph Pickl
JSUG - Spring by Christoph Pickl
 
J Unit
J UnitJ Unit
J Unit
 

More from Tim Menzies

Modeling the Effect of Size of Defect Proneness for Open-Source Software
Modeling the Effect of Size of Defect Proneness for Open-Source SoftwareModeling the Effect of Size of Defect Proneness for Open-Source Software
Modeling the Effect of Size of Defect Proneness for Open-Source SoftwareTim Menzies
 
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
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryTim Menzies
 
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
 
Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Project Data Incorporating Qualitative Factors for Improved Software Defect P...Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Project Data Incorporating Qualitative Factors for Improved Software Defect P...Tim Menzies
 
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...Tim Menzies
 
Adequate and Precise Evaluation of Predictive Models in Software Engineering ...
Adequate and Precise Evaluation of Predictive Models in Software Engineering ...Adequate and Precise Evaluation of Predictive Models in Software Engineering ...
Adequate and Precise Evaluation of Predictive Models in Software Engineering ...Tim Menzies
 
Complexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesComplexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesTim Menzies
 
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
 

More from Tim Menzies (10)

Modeling the Effect of Size of Defect Proneness for Open-Source Software
Modeling the Effect of Size of Defect Proneness for Open-Source SoftwareModeling the Effect of Size of Defect Proneness for Open-Source Software
Modeling the Effect of Size of Defect Proneness for Open-Source Software
 
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
 
Experiments on Design Pattern Discovery
Experiments on Design Pattern DiscoveryExperiments on Design Pattern Discovery
Experiments on Design Pattern Discovery
 
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
 
Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Project Data Incorporating Qualitative Factors for Improved Software Defect P...Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Project Data Incorporating Qualitative Factors for Improved Software Defect P...
 
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
 
Promise Keynote
Promise KeynotePromise Keynote
Promise Keynote
 
Adequate and Precise Evaluation of Predictive Models in Software Engineering ...
Adequate and Precise Evaluation of Predictive Models in Software Engineering ...Adequate and Precise Evaluation of Predictive Models in Software Engineering ...
Adequate and Precise Evaluation of Predictive Models in Software Engineering ...
 
Complexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software ArchitecturesComplexity Measures for Secure Service-Orieted Software Architectures
Complexity Measures for Secure Service-Orieted Software Architectures
 
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
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

Predicting Defects for Eclipse

  • 1.
  • 2. Summary Project  Eclipse (eclipse.org) Content Defect counts Complexity metrics Releases 2.0, 2.1, and 3.0 Level Packages and files URL www.st.cs.uni-sb.de/softevo/ More data Eclipse source code
  • 4.
  • 5.
  • 8.  
  • 9.
  • 11. Eclipse Bug Data <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!-- comments --> <defects project=&quot;eclipse&quot; release=&quot;2.0&quot; dataversion=&quot;1.0&quot;> <plug-in name=&quot;platform-launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <package name=&quot;org.eclipse.core.launcher&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot; avg=&quot;0.0&quot; compilationunits=&quot;1&quot; max=&quot;0&quot;/> </counts> <compilationunit dir=&quot;/platform-launcher/library/&quot; base=&quot;Main.java&quot;> <counts> <count id=&quot;pre&quot; value=&quot;0&quot;/> <count id=&quot;post&quot; value=&quot;0&quot;/> </counts> </compilationunit> </package> </package> </package> </plug-in>
  • 12.
  • 14. Where do bugs come from?
  • 15. Is it the Developers? Does experience matter? Bug density correlates with experience!
  • 16. How about Testing? Does code coverage predict bug density? Yes – the more tests, the more bugs!
  • 17. History? I found lots of bugs here. Will there be more? Yes!
  • 18. How about Metrics? Do code metrics predict bug density? Yes! (but only with history)
  • 19. Syntactic Tokens? Which tokens predict bug density? imports • extends • implements
  • 20. Eclipse Imports import org.eclipse.jdt.internal.compiler.lookup.*; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.util.*; ... import org.eclipse.pde.core.*; import org.eclipse.jface.wizard.*; import org.eclipse.ui.*; 14% of all components importing ui show a post-release defect 71% of all components importing compiler show a post-release defect Joint work with Adrian Schröter • Tom Zimmermann
  • 21. Eclipse Imports Correlation with failure Correlation with success import org.eclipse.jdt.internal.compiler.lookup.*; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.util.*; ... import org.eclipse.pde.core.*; import org.eclipse.jface.wizard.*; import org.eclipse.ui.*;
  • 22. What makes code buggy in the first place?
  • 23.