SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 

Kürzlich hochgeladen (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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
 
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
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 

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