SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories, p.1-10




        Predicting the Severity of a Reported Bug




Ahmed Lamkanfi, Serge Demeyer | Emanuel Giger | Bart Goethals
Ansymo                       | s.e.a.l.      | ADReM
Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories, p.1-10




        Predicting the Severity of a Reported Bug




Ahmed Lamkanfi, Serge Demeyer | Emanuel Giger | Bart Goethals
Ansymo                       | s.e.a.l.      | ADReM
Severity of a bug is important
✓ Critical factor in deciding how soon it needs to
   be fixed, i.e. when prioritizing bugs
Priority is business
Severity
           is techn
                      ical
✓ Severity varies:
  ➡ trivial, minor, normal major, critical and blocker
  ➡ clear guidelines exist to classify severity of bug
    reports
✓ Severity varies:
  ➡ trivial, minor, normal major, critical and blocker
  ➡ clear guidelines exist to classify severity of bug
    reports

✓ Both a short and longer description of the
  problem
✓ Severity varies:
  ➡ trivial, minor, normal major, critical and blocker
  ➡ clear guidelines exist to classify severity of bug
    reports

✓ Both a short and longer description of the
  problem
✓ Bugs are grouped according to products
  and components
 ➡ e.g.: plug-ins, bookmarks are components of
   product Firefox
Can we accurately predict the severity of a reported
     bug by analyzing its textual descriptions?
Can we accurately predict the severity of a reported
     bug by analyzing its textual descriptions?


             Also the following questions:
Can we accurately predict the severity of a reported
     bug by analyzing its textual descriptions?


             Also the following questions:

                 Potential indicators?
Can we accurately predict the severity of a reported
     bug by analyzing its textual descriptions?


             Also the following questions:

                 Potential indicators?
            Short versus long description?
Can we accurately predict the severity of a reported
     bug by analyzing its textual descriptions?


             Also the following questions:

                 Potential indicators?
            Short versus long description?
       Per component versus cross-component?
Approach
We use text mining to classify bug reports
•   Bayesian classifier: based on the probabilistic
    occurrence of words
•   training and evaluation period
•   in first instance, per component
We use text mining to classify bug reports
•   Bayesian classifier: based on the probabilistic
    occurrence of words
•   training and evaluation period
•   in first instance, per component
We use text mining to classify bug reports
•   Bayesian classifier: based on the probabilistic
    occurrence of words
•   training and evaluation period
•   in first instance, per component
We use text mining to classify bug reports
•    Bayesian classifier: based on the probabilistic
     occurrence of words
•    training and evaluation period
•    in first instance, per component




    Non-severe bugs                      Severe bugs
     (trivial, minor)               (major, critical, blocker)
We use text mining to classify bug reports
•    Bayesian classifier: based on the probabilistic
     occurrence of words
•    training and evaluation period
•    in first instance, per component




                         Undecided


    Non-severe bugs      Default          Severe bugs
     (trivial, minor)   (normal)     (major, critical, blocker)
Evaluation of the approach:
✓ precision and recall:




Cases drawn from the open-source community
 ✓ Mozilla, Eclipse and GNOME
Results
How does the basic approach perform?
➡ per component and using short description
How does the basic approach perform?
➡ per component and using short description


                         Non-severe                 Severe
 component           precision   recall   precision          recall
  Mozilla: Layout
                       0.701     0.785      0.752            0.653

Mozilla: Bookmarks
                       0.692     0.703      0.698            0.687

    Eclipse: UI
                       0.707     0.633      0.668            0.738

 Eclipse: JDT-UI
                       0.653     0.714      0.685            0.621

GNOME: Calendar
                       0.828     0.783      0.794            0.837

GNOME:Contacts
                       0.767     0.706      0.728            0.785
What keywords are good indicators of
            severity?
What keywords are good indicators of
                    severity?


 Component                   Non-severe                        Severe
                           inconsist, favicon, credit,   Fault, machin, reboot,
Mozilla Firefox- General      extra, consum, licens,        reinstal, lockup,
                            underlin, typo, inspector,     seemingli, perman,
                                     titlebar          instantli, segfault, compil


                             deprec, style, runnabl,       hang, freez, deadlock,
    Eclipse JDT UI             system, cce, tvt35,         thread, slow, anymor,
                           whitespac, node, put, param    memori, tick, jvm, adapt


                           mnemon, outbox, typo, pad,    deadlock, sigsegv, relat,
    GNOME Mailer              follow, titl, high,         caus, snapshot, segment,
                             acceler, decod, reflec      core, unexpectedli, build,
                                                                    loop
How does the approach perform when using
          the longer description?
How does the approach perform when using
                the longer description?

                         Non-severe                 Severe
 component           precision   recall   precision          recall
  Mozilla: Layout
                       0.583     0.961      0.890            0.314

Mozilla: Bookmarks
                       0.536     0.963      0.820            0.166

  Mozilla: Firefox
                       0.578     0.948      0.856            0.308
     general
    Eclipse: UI
                       0.548     0.976      0.892            0.197

 Eclipse: JDT-UI
                       0.547     0.973      0.881            0.195

 Eclipse: JDT-Text
                       0.570     0.988      0.955            0.257
How does the approach perform when using
                the longer description?

                         Non-severe                 Severe
 component           precision   recall   precision          recall
  Mozilla: Layout
                       0.583     0.961      0.890            0.314

Mozilla: Bookmarks
                       0.536     0.963      0.820            0.166

  Mozilla: Firefox
                       0.578     0.948      0.856            0.308
     general
    Eclipse: UI
                       0.548     0.976      0.892            0.197

 Eclipse: JDT-UI
                       0.547     0.973      0.881            0.195

Eclipse: JDT-Text
                       0.570     0.988      0.955            0.257
How does the approach perform when
combining bugs from different components?
How does the approach perform when
   combining bugs from different components?

                Non-severe                 Severe
component   precision   recall   precision          recall

  Mozilla
              0.704     0.750      0.733            0.685

  Eclipse
              0.693     0.553      0.628            0.755

  GNOME
              0.817     0.737      0.760            0.835
How does the approach perform when
   combining bugs from different components?

                   Non-severe                        Severe
component     precision       recall       precision          recall

   Mozilla
                 0.704         0.750         0.733            0.685

  Eclipse
                 0.693         0.553         0.628            0.755

  GNOME
                 0.817         0.737         0.760            0.835




Much larger training set necessary
  ✓± 2000 reports instead of ± 500 per severity!
Conclusions
✓ It is possible to predict the severity of a
  reported bug

✓ Short description better source for
  predictions

✓ Cross-component approach works, but
  requires more training samples

Más contenido relacionado

Similar a MIning Software Repositories (MSR) 2010 presentation

Configuration management 101 - A tale of disaster recovery using CFEngine 3
Configuration management 101 - A tale of disaster recovery using CFEngine 3Configuration management 101 - A tale of disaster recovery using CFEngine 3
Configuration management 101 - A tale of disaster recovery using CFEngine 3
RUDDER
 
Sai devops - the art of being specializing generalist
Sai   devops - the art of being specializing generalistSai   devops - the art of being specializing generalist
Sai devops - the art of being specializing generalist
Odd-e
 

Similar a MIning Software Repositories (MSR) 2010 presentation (20)

Frontend automation and stability
Frontend automation and stabilityFrontend automation and stability
Frontend automation and stability
 
Sitecore on Azure
Sitecore on AzureSitecore on Azure
Sitecore on Azure
 
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
 
Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2
 
Rails in the Cloud
Rails in the CloudRails in the Cloud
Rails in the Cloud
 
Configuration management 101 - A tale of disaster recovery using CFEngine 3
Configuration management 101 - A tale of disaster recovery using CFEngine 3Configuration management 101 - A tale of disaster recovery using CFEngine 3
Configuration management 101 - A tale of disaster recovery using CFEngine 3
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU Seminar
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
 
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
 
Returnil 2010
Returnil 2010Returnil 2010
Returnil 2010
 
Javaland 2017: "You´ll do microservices now". Now what?
Javaland 2017: "You´ll do microservices now". Now what?Javaland 2017: "You´ll do microservices now". Now what?
Javaland 2017: "You´ll do microservices now". Now what?
 
Structured Software Design
Structured Software DesignStructured Software Design
Structured Software Design
 
TYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CITYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CI
 
Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & Design
 
Sai devops - the art of being specializing generalist
Sai   devops - the art of being specializing generalistSai   devops - the art of being specializing generalist
Sai devops - the art of being specializing generalist
 
StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnet
StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnetStHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet
StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnet
 
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
Lessons Learned from Migrating Legacy Enterprise Applications to MicroservicesLessons Learned from Migrating Legacy Enterprise Applications to Microservices
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
 
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...
 
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

MIning Software Repositories (MSR) 2010 presentation

  • 1. Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories, p.1-10 Predicting the Severity of a Reported Bug Ahmed Lamkanfi, Serge Demeyer | Emanuel Giger | Bart Goethals Ansymo | s.e.a.l. | ADReM
  • 2. Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories, p.1-10 Predicting the Severity of a Reported Bug Ahmed Lamkanfi, Serge Demeyer | Emanuel Giger | Bart Goethals Ansymo | s.e.a.l. | ADReM
  • 3.
  • 4.
  • 5. Severity of a bug is important ✓ Critical factor in deciding how soon it needs to be fixed, i.e. when prioritizing bugs
  • 7. Severity is techn ical
  • 8. ✓ Severity varies: ➡ trivial, minor, normal major, critical and blocker ➡ clear guidelines exist to classify severity of bug reports
  • 9. ✓ Severity varies: ➡ trivial, minor, normal major, critical and blocker ➡ clear guidelines exist to classify severity of bug reports ✓ Both a short and longer description of the problem
  • 10. ✓ Severity varies: ➡ trivial, minor, normal major, critical and blocker ➡ clear guidelines exist to classify severity of bug reports ✓ Both a short and longer description of the problem ✓ Bugs are grouped according to products and components ➡ e.g.: plug-ins, bookmarks are components of product Firefox
  • 11. Can we accurately predict the severity of a reported bug by analyzing its textual descriptions?
  • 12. Can we accurately predict the severity of a reported bug by analyzing its textual descriptions? Also the following questions:
  • 13. Can we accurately predict the severity of a reported bug by analyzing its textual descriptions? Also the following questions: Potential indicators?
  • 14. Can we accurately predict the severity of a reported bug by analyzing its textual descriptions? Also the following questions: Potential indicators? Short versus long description?
  • 15. Can we accurately predict the severity of a reported bug by analyzing its textual descriptions? Also the following questions: Potential indicators? Short versus long description? Per component versus cross-component?
  • 17. We use text mining to classify bug reports • Bayesian classifier: based on the probabilistic occurrence of words • training and evaluation period • in first instance, per component
  • 18. We use text mining to classify bug reports • Bayesian classifier: based on the probabilistic occurrence of words • training and evaluation period • in first instance, per component
  • 19. We use text mining to classify bug reports • Bayesian classifier: based on the probabilistic occurrence of words • training and evaluation period • in first instance, per component
  • 20. We use text mining to classify bug reports • Bayesian classifier: based on the probabilistic occurrence of words • training and evaluation period • in first instance, per component Non-severe bugs Severe bugs (trivial, minor) (major, critical, blocker)
  • 21. We use text mining to classify bug reports • Bayesian classifier: based on the probabilistic occurrence of words • training and evaluation period • in first instance, per component Undecided Non-severe bugs Default Severe bugs (trivial, minor) (normal) (major, critical, blocker)
  • 22. Evaluation of the approach: ✓ precision and recall: Cases drawn from the open-source community ✓ Mozilla, Eclipse and GNOME
  • 24. How does the basic approach perform? ➡ per component and using short description
  • 25. How does the basic approach perform? ➡ per component and using short description Non-severe Severe component precision recall precision recall Mozilla: Layout 0.701 0.785 0.752 0.653 Mozilla: Bookmarks 0.692 0.703 0.698 0.687 Eclipse: UI 0.707 0.633 0.668 0.738 Eclipse: JDT-UI 0.653 0.714 0.685 0.621 GNOME: Calendar 0.828 0.783 0.794 0.837 GNOME:Contacts 0.767 0.706 0.728 0.785
  • 26. What keywords are good indicators of severity?
  • 27. What keywords are good indicators of severity? Component Non-severe Severe inconsist, favicon, credit, Fault, machin, reboot, Mozilla Firefox- General extra, consum, licens, reinstal, lockup, underlin, typo, inspector, seemingli, perman, titlebar instantli, segfault, compil deprec, style, runnabl, hang, freez, deadlock, Eclipse JDT UI system, cce, tvt35, thread, slow, anymor, whitespac, node, put, param memori, tick, jvm, adapt mnemon, outbox, typo, pad, deadlock, sigsegv, relat, GNOME Mailer follow, titl, high, caus, snapshot, segment, acceler, decod, reflec core, unexpectedli, build, loop
  • 28. How does the approach perform when using the longer description?
  • 29. How does the approach perform when using the longer description? Non-severe Severe component precision recall precision recall Mozilla: Layout 0.583 0.961 0.890 0.314 Mozilla: Bookmarks 0.536 0.963 0.820 0.166 Mozilla: Firefox 0.578 0.948 0.856 0.308 general Eclipse: UI 0.548 0.976 0.892 0.197 Eclipse: JDT-UI 0.547 0.973 0.881 0.195 Eclipse: JDT-Text 0.570 0.988 0.955 0.257
  • 30. How does the approach perform when using the longer description? Non-severe Severe component precision recall precision recall Mozilla: Layout 0.583 0.961 0.890 0.314 Mozilla: Bookmarks 0.536 0.963 0.820 0.166 Mozilla: Firefox 0.578 0.948 0.856 0.308 general Eclipse: UI 0.548 0.976 0.892 0.197 Eclipse: JDT-UI 0.547 0.973 0.881 0.195 Eclipse: JDT-Text 0.570 0.988 0.955 0.257
  • 31. How does the approach perform when combining bugs from different components?
  • 32. How does the approach perform when combining bugs from different components? Non-severe Severe component precision recall precision recall Mozilla 0.704 0.750 0.733 0.685 Eclipse 0.693 0.553 0.628 0.755 GNOME 0.817 0.737 0.760 0.835
  • 33. How does the approach perform when combining bugs from different components? Non-severe Severe component precision recall precision recall Mozilla 0.704 0.750 0.733 0.685 Eclipse 0.693 0.553 0.628 0.755 GNOME 0.817 0.737 0.760 0.835 Much larger training set necessary ✓± 2000 reports instead of ± 500 per severity!
  • 34. Conclusions ✓ It is possible to predict the severity of a reported bug ✓ Short description better source for predictions ✓ Cross-component approach works, but requires more training samples