SlideShare a Scribd company logo
1 of 46
Quality of Bug Reports
  in Open Source


  Nicolas Bettenburg           Adrian Schröter               Rahul Premraj
   Saarland University         Saarland University          Saarland University




                    Sascha Just               Cathrin Weiss              Tom Zimmermann
                 Saarland University         University of Zürich        University of Calgary
Developers
Developers
  175222




I wand to create a new plugin in Eclipse using CDT. Shall it
possible. I had made a R&D in eclipse documentation. I had
get an idea about create a plugin using Java. But i wand to
create a new plugin ( user defined plugin ) using CDT. After
that I wand to impliment it in my programe. If it possible?.
Any one can help me please...
Developers
  175222




I20030205

Run the following example. Double click on a tree item and
I wand to create a new plugin in Eclipse using CDT. Shall it
notice that it does not expand.
possible. I had made a R&D in eclipse documentation. I had
get an idea about create a plugin using Java. But i wand to
Comment out the Selection listener and now double click
create a new plugin ( user defined plugin ) using CDT. After
on any tree item and notice that it expands.
that I wand to impliment it in my programe. If it possible?.
Any one can help me please...
public static void main(String[] args) {
	    Display display = new Display();
     ...
Researchers
Researchers
What makes a
good bug report?
Ask Google
Ask Google
Ask developers

Experts
Survey




    Five minutes
Participants




809 contacts   156 responses
Information
Question 1
Which of the following items have you previously used when fixing bugs?
(select as many items as you wish)

Question 2
Which three items helped you the most?
(select at most three items)
Results
Helped most




                        Used when fixing a bug
Results                                  steps to reproduce
Helped most




                                                                  stack traces




                                              screenshots

                                                            observed behavior

                                test cases/examples




                                              expected behavior



                                    version

              hardware   severity

                                                       Used when fixing a bug
Problems
Question 3
Which of the following problems have you encountered when fixing bugs?
(select as many items as you wish)

Question 4
Which three problems caused you most delay in fixing bugs?
(select at most three items)
Results
Most delay




                 Encountered when fixing a bug
Results                         incomplete information
Most delay




                                                      erroneous steps to reproduce




                            wrong observed behaviour
                                              wrong expected behaviour

                                        wrong product information




                                                                    bad grammar
                                             errors in test cases
                                                                       duplicates
                  wrong system information

             viruses/spam

                                                        Encountered when fixing a bug
bug bugzilla case checkbox
          behavior biggest
based

          comments common component crucial delay
clearly
determine developer error etc expected filed fixing
                             information issue missing
helpful include incomplete
mozilla number people problem product project
question reports reproduce reproduction
scope sometimes status steps system test testcase
understand used user usually version wrong
bug bugzilla case checkbox
          behavior biggest
based

          comments common component crucial delay
clearly
determine developer error etc expected filed fixing
                             information issue missing
helpful include incomplete
mozilla number people problem product project
question reports reproduce reproduction
scope sometimes status steps system test testcase
understand used user usually version wrong
Good vs. poor reports

   Create a new plugin using CDT.




   I wand to create a new plugin in Eclipse using CDT. Shall it
   possible. I had made a R&D in eclipse documentation. I had get an
   idea about create a plugin using Java. But i wand to create a new
   plugin ( user defined plugin ) using CDT. After that I wand to
   impliment it in my programe. If it possible?. Any one can help me
   please...
Good vs. poor reports

   Create a new plugin using CDT.




   I wand to create a new plugin in Eclipse using CDT. Shall it
   possible. I had made a R&D in eclipse documentation. I had get an
   idea about create a plugin using Java. But i wand to create a new
   plugin ( user defined plugin ) using CDT. After that I wand to
   impliment it in my programe. If it possible?. Any one can help me
   please...




   Poor                             Average              Good
Good vs. poor reports
+++ APACHE: 229 +++ ECLIPSE: 397 +++ MOZILLA: 560 +++
            Create a new plugin using CDT.




            I wand to create a new plugin in Eclipse using CDT. Shall it
            possible. I had made a R&D in eclipse documentation. I had get an
            idea about create a plugin using Java. But i wand to create a new
            plugin ( user defined plugin ) using CDT. After that I wand to
            impliment it in my programe. If it possible?. Any one can help me
            please...




            Poor                             Average              Good
How can we
measure quality?
Measure quality
Report
Measure quality
                         Quality Score
Report        CUEzilla
Measure quality
                                                          Quality Score
Report                    CUEzilla




                        Set of Features
          Keywords          Stack Trace   Code Examples


          Readability       Repro Steps    Screenshots
Leave-one out validation

Training – build a model




                           Testing
Results
                 Predicted by CUEzilla

             0       0     1     0       0
             0       2     0     0       0
 Rated by
developers   4      11    29    17       4
             0       1     6    12       5
             0       1     2     4       1
Results
                        Predicted by CUEzilla

                    0       0     1     0       0
                    0       2     0     0       0
 Rated by
developers          4      11    29    17       4
                    0       1     6    12       5
                    0       1     2     4       1
             44% agreement
Results
                        Predicted by CUEzilla

                    0       0     1     0       0
                    0       2     0     0       0
 Rated by
developers          4      11    29    17       4
                    0       1     6    12       5
                    0       1     2     4       1
             44% agreement      87% close by one
Recommendations

     Add a stack trace
     to improve your
    bug report by 20%.
Recommendations

     Add a stack trace
     to improve your
    bug report by 20%.
Recommendations
                         Why should
                          I care?
     Add a stack trace
     to improve your
    bug report by 20%.
Creating incentive
Creating incentive


    Bug reports with
    stack traces get
      fixed sooner.
Mining facts
     Keywords



    Readability



    Stack Trace



    Repro Steps



   Code Examples



    Screenshots



Set of Features
Mining facts
     Keywords



    Readability



    Stack Trace
                                  Time to fix
    Repro Steps



   Code Examples



    Screenshots



Set of Features                   Fixed or not
Mining facts
     Keywords



    Readability



    Stack Trace

                     Correlate    Time to fix
    Repro Steps



   Code Examples



    Screenshots



Set of Features                   Fixed or not
Did you know?
Bug reports containing stack traces
get fixed sooner.
(APACHE/ECLIPSE/MOZILLA)
Bug reports that are easier to read
have lower lifetimes.
(APACHE/ECLIPSE/MOZILLA)
Including code samples in your bug
report increases the chances of it
getting fixed. (MOZILLA)
Future work
Reporter survey
Question 1
What information have you previously provided in bug reports?
(select as many items as you wish)
Question 2
What of the above information was most difficult to provide?
(select at most three items)
Question 3
In your opinion, what information is most relevant to developers?
(select at most three items)

                                      310 responses
Comments


    Developers		 48
    Reporters	 	 127
    Comments	 	 175
Better tool support
Better tool support
                 Add a stack trace
                 to improve your
                bug report by 20%.




               Bug reports with
               stack traces get
                 fixed sooner.
bug cases cdt code create cuezilla defined delay
behaviour
developers                            duplicates eclipse
                     documentation

                                      fixing
encountered examples                           helped impliment
                           expected

information items java mozilla observed please
plugin poor possible problems programe quality
               report                      results
question                     researchers                  saarland
                                 stack
                select                                      test
screenshots                                steps system
                         shall

thanks trace university user viruses wand wrong

More Related Content

What's hot

Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentAlan Richardson
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-TestingMary Clemons
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Mohamed Samy
 
The Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got Better
The Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got BetterThe Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got Better
The Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got BetterJustin Hunter
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015Peter Sabev
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentDhaval Dalal
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In ActionJon Kruger
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableAlexander Tarlinder
 
Common Challenges & Best Practices for TDD on iOS
Common Challenges & Best Practices for TDD on iOSCommon Challenges & Best Practices for TDD on iOS
Common Challenges & Best Practices for TDD on iOSDerek Lee Boire
 
Lessons learned in agile romania
Lessons learned in agile romaniaLessons learned in agile romania
Lessons learned in agile romaniaOpenAgile Romania
 
Test Driven Development (C#)
Test Driven Development (C#)Test Driven Development (C#)
Test Driven Development (C#)Alan Dean
 
Mutation Testing DevoxxUK 2021
Mutation Testing DevoxxUK 2021Mutation Testing DevoxxUK 2021
Mutation Testing DevoxxUK 2021Paco van Beckhoven
 
100% Code Coverage in Real World Software
100% Code Coverage in Real World Software100% Code Coverage in Real World Software
100% Code Coverage in Real World SoftwareAndreas Czakaj
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Developmentsatya sudheer
 

What's hot (20)

Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software Development
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
The Testing Planet - July 2010
The Testing Planet - July 2010The Testing Planet - July 2010
The Testing Planet - July 2010
 
The Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got Better
The Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got BetterThe Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got Better
The Best Pairwise Testing Tool / Best Orthogonal Array Tool Just Got Better
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
 
Avc rem 201211_en
Avc rem 201211_enAvc rem 201211_en
Avc rem 201211_en
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In Action
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testable
 
Common Challenges & Best Practices for TDD on iOS
Common Challenges & Best Practices for TDD on iOSCommon Challenges & Best Practices for TDD on iOS
Common Challenges & Best Practices for TDD on iOS
 
Rapid Software Testing
Rapid Software TestingRapid Software Testing
Rapid Software Testing
 
Lessons learned in agile romania
Lessons learned in agile romaniaLessons learned in agile romania
Lessons learned in agile romania
 
Test Driven Development (C#)
Test Driven Development (C#)Test Driven Development (C#)
Test Driven Development (C#)
 
Mutation Testing DevoxxUK 2021
Mutation Testing DevoxxUK 2021Mutation Testing DevoxxUK 2021
Mutation Testing DevoxxUK 2021
 
100% Code Coverage in Real World Software
100% Code Coverage in Real World Software100% Code Coverage in Real World Software
100% Code Coverage in Real World Software
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Development
 

Similar to Quality of Bug Reports in Open Source

10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)guestebde
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroPaul Boos
 
Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Joel Farris
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Applitools
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking SystemsRahul Premraj
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzQA or the Highway
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzQA or the Highway
 
Entaggle: an Agile Software Development Case Study
Entaggle: an Agile Software Development Case StudyEntaggle: an Agile Software Development Case Study
Entaggle: an Agile Software Development Case StudyElisabeth Hendrickson
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debuggingsvilen.ivanov
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile ProcessDavid Copeland
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Max De Marzi
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingPeter Presnell
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrJohn Allspaw
 

Similar to Quality of Bug Reports in Open Source (20)

10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking Systems
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig Stuntz
 
Entaggle: an Agile Software Development Case Study
Entaggle: an Agile Software Development Case StudyEntaggle: an Agile Software Development Case Study
Entaggle: an Agile Software Development Case Study
 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debugging
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile Process
 
Dev ops
Dev opsDev ops
Dev ops
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1
 
Chapter 3 Reducing Risks Using CI
Chapter 3 Reducing Risks Using CIChapter 3 Reducing Risks Using CI
Chapter 3 Reducing Risks Using CI
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 
React performance
React performanceReact performance
React performance
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and Flickr
 

More from Thomas Zimmermann

Software Analytics = Sharing Information
Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing InformationThomas Zimmermann
 
Predicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsPredicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsThomas Zimmermann
 
Analytics for smarter software development
Analytics for smarter software development Analytics for smarter software development
Analytics for smarter software development Thomas Zimmermann
 
Characterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get ReopenedCharacterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get ReopenedThomas Zimmermann
 
Data driven games user research
Data driven games user researchData driven games user research
Data driven games user researchThomas Zimmermann
 
Not my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignmentsNot my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignmentsThomas Zimmermann
 
Empirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft ResearchEmpirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft ResearchThomas Zimmermann
 
Security trend analysis with CVE topic models
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic modelsThomas Zimmermann
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software developmentThomas Zimmermann
 
Characterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixedCharacterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixedThomas Zimmermann
 
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
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
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
 
Predicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsPredicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsThomas Zimmermann
 
Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Thomas Zimmermann
 
Got Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringThomas Zimmermann
 
Mining Workspace Updates in CVS
Mining Workspace Updates in CVSMining Workspace Updates in CVS
Mining Workspace Updates in CVSThomas Zimmermann
 

More from Thomas Zimmermann (20)

Software Analytics = Sharing Information
Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing Information
 
MSR 2013 Preview
MSR 2013 PreviewMSR 2013 Preview
MSR 2013 Preview
 
Predicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode OperationsPredicting Method Crashes with Bytecode Operations
Predicting Method Crashes with Bytecode Operations
 
Analytics for smarter software development
Analytics for smarter software development Analytics for smarter software development
Analytics for smarter software development
 
Characterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get ReopenedCharacterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get Reopened
 
Klingon Countdown Timer
Klingon Countdown TimerKlingon Countdown Timer
Klingon Countdown Timer
 
Data driven games user research
Data driven games user researchData driven games user research
Data driven games user research
 
Not my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignmentsNot my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignments
 
Empirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft ResearchEmpirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft Research
 
Security trend analysis with CVE topic models
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic models
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
 
Characterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixedCharacterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixed
 
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
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
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
 
Predicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsPredicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency Graphs
 
Meet Tom and his Fish
Meet Tom and his FishMeet Tom and his Fish
Meet Tom and his Fish
 
Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities
 
Got Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software Engineering
 
Mining Workspace Updates in CVS
Mining Workspace Updates in CVSMining Workspace Updates in CVS
Mining Workspace Updates in CVS
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

Quality of Bug Reports in Open Source

  • 1. Quality of Bug Reports in Open Source Nicolas Bettenburg Adrian Schröter Rahul Premraj Saarland University Saarland University Saarland University Sascha Just Cathrin Weiss Tom Zimmermann Saarland University University of Zürich University of Calgary
  • 3. Developers 175222 I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please...
  • 4. Developers 175222 I20030205 Run the following example. Double click on a tree item and I wand to create a new plugin in Eclipse using CDT. Shall it notice that it does not expand. possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to Comment out the Selection listener and now double click create a new plugin ( user defined plugin ) using CDT. After on any tree item and notice that it expands. that I wand to impliment it in my programe. If it possible?. Any one can help me please... public static void main(String[] args) { Display display = new Display(); ...
  • 7. What makes a good bug report?
  • 11. Survey Five minutes
  • 13. Information Question 1 Which of the following items have you previously used when fixing bugs? (select as many items as you wish) Question 2 Which three items helped you the most? (select at most three items)
  • 14. Results Helped most Used when fixing a bug
  • 15. Results steps to reproduce Helped most stack traces screenshots observed behavior test cases/examples expected behavior version hardware severity Used when fixing a bug
  • 16. Problems Question 3 Which of the following problems have you encountered when fixing bugs? (select as many items as you wish) Question 4 Which three problems caused you most delay in fixing bugs? (select at most three items)
  • 17. Results Most delay Encountered when fixing a bug
  • 18. Results incomplete information Most delay erroneous steps to reproduce wrong observed behaviour wrong expected behaviour wrong product information bad grammar errors in test cases duplicates wrong system information viruses/spam Encountered when fixing a bug
  • 19. bug bugzilla case checkbox behavior biggest based comments common component crucial delay clearly determine developer error etc expected filed fixing information issue missing helpful include incomplete mozilla number people problem product project question reports reproduce reproduction scope sometimes status steps system test testcase understand used user usually version wrong
  • 20. bug bugzilla case checkbox behavior biggest based comments common component crucial delay clearly determine developer error etc expected filed fixing information issue missing helpful include incomplete mozilla number people problem product project question reports reproduce reproduction scope sometimes status steps system test testcase understand used user usually version wrong
  • 21. Good vs. poor reports Create a new plugin using CDT. I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please...
  • 22. Good vs. poor reports Create a new plugin using CDT. I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please... Poor Average Good
  • 23. Good vs. poor reports +++ APACHE: 229 +++ ECLIPSE: 397 +++ MOZILLA: 560 +++ Create a new plugin using CDT. I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please... Poor Average Good
  • 26. Measure quality Quality Score Report CUEzilla
  • 27. Measure quality Quality Score Report CUEzilla Set of Features Keywords Stack Trace Code Examples Readability Repro Steps Screenshots
  • 28. Leave-one out validation Training – build a model Testing
  • 29. Results Predicted by CUEzilla 0 0 1 0 0 0 2 0 0 0 Rated by developers 4 11 29 17 4 0 1 6 12 5 0 1 2 4 1
  • 30. Results Predicted by CUEzilla 0 0 1 0 0 0 2 0 0 0 Rated by developers 4 11 29 17 4 0 1 6 12 5 0 1 2 4 1 44% agreement
  • 31. Results Predicted by CUEzilla 0 0 1 0 0 0 2 0 0 0 Rated by developers 4 11 29 17 4 0 1 6 12 5 0 1 2 4 1 44% agreement 87% close by one
  • 32. Recommendations Add a stack trace to improve your bug report by 20%.
  • 33. Recommendations Add a stack trace to improve your bug report by 20%.
  • 34. Recommendations Why should I care? Add a stack trace to improve your bug report by 20%.
  • 36. Creating incentive Bug reports with stack traces get fixed sooner.
  • 37. Mining facts Keywords Readability Stack Trace Repro Steps Code Examples Screenshots Set of Features
  • 38. Mining facts Keywords Readability Stack Trace Time to fix Repro Steps Code Examples Screenshots Set of Features Fixed or not
  • 39. Mining facts Keywords Readability Stack Trace Correlate Time to fix Repro Steps Code Examples Screenshots Set of Features Fixed or not
  • 40. Did you know? Bug reports containing stack traces get fixed sooner. (APACHE/ECLIPSE/MOZILLA) Bug reports that are easier to read have lower lifetimes. (APACHE/ECLIPSE/MOZILLA) Including code samples in your bug report increases the chances of it getting fixed. (MOZILLA)
  • 42. Reporter survey Question 1 What information have you previously provided in bug reports? (select as many items as you wish) Question 2 What of the above information was most difficult to provide? (select at most three items) Question 3 In your opinion, what information is most relevant to developers? (select at most three items) 310 responses
  • 43. Comments Developers 48 Reporters 127 Comments 175
  • 45. Better tool support Add a stack trace to improve your bug report by 20%. Bug reports with stack traces get fixed sooner.
  • 46. bug cases cdt code create cuezilla defined delay behaviour developers duplicates eclipse documentation fixing encountered examples helped impliment expected information items java mozilla observed please plugin poor possible problems programe quality report results question researchers saarland stack select test screenshots steps system shall thanks trace university user viruses wand wrong