SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Proceedings of the 16th European Conference on Software Maintenance and
 Reengineering




Filtering Bug Reports for Fix-Time
             Analysis
                        Ahmed Lamkanfi, Serge Demeyer



 Antwerp Systems and Software Modelling
 Ansymo                                   1 /13
Bug Report Fix-Time Prediction
Predicting Eclipse Bug Lifetimes   A Comparative Exploration of FreeBSD Bug Lifetimes   Predicting the Fix Time of Bugs
           Panjer et al.                             Bougie et al.                                 Giger et al.




                                                        2 /13
Bug Report Fix-Time Prediction
Predicting Eclipse Bug Lifetimes   A Comparative Exploration of FreeBSD Bug Lifetimes   Predicting the Fix Time of Bugs
           Panjer et al.                             Bougie et al.                                 Giger et al.




                                                        2 /13
Bug Report Fix-Time Prediction
Predicting Eclipse Bug Lifetimes   A Comparative Exploration of FreeBSD Bug Lifetimes   Predicting the Fix Time of Bugs
           Panjer et al.                             Bougie et al.                                 Giger et al.




                                                        2 /13
History of all reported bugs

Bug Database   Uncover facts about history

               Make predictions about future




                  3 /13
History of all reported bugs

Bug Database        Uncover facts about history

                    Make predictions about future



  Fix-time of a bug?
   ✓ Time between opening and resolving a bug.


                        3 /13
Cases under Study: Eclipse and Mozilla

           Project      Nr. of Bugs            Period
           Platform             76.456   Oct. 2001 - Oct. 2007

             PDE                11.117   Oct. 2001 - Oct. 2007

             JDT                41.691   Oct. 2001 - Oct. 2007

             CDT                11.468   Oct. 2001 - Oct. 2007

             GEF                1.587    Oct. 2001 - Oct. 2007

             Core           143.542      Mar. 1997 - Jul. 2008

           Bugzilla             19.135   Mar. 2003 - Jul. 2008

            Firefox             79.272   Jul. 1999 - Jul. 2008

          Thunderbird           23.408   Jan. 2000 - Jul. 2008

          SeaMonkey             85.143   Nov. 1995 - Jul. 2008



                        4 /13
3000
                               1000
                               300
                               100
                                 30
Fix−Time (logarithmic scale)




                                 10
                                  3
                                  1
                                0.3
                                0.1
                               0.03
                               0.01
                         0.003
                         0.001
         0.0003
         0.0001


                                      Platform   PDE    JDT       CDT   GEF

                                                       Projects
                                                        5 /13
3000
                               1000
                               300
                               100
                                 30
Fix−Time (logarithmic scale)




                                 10
                                  3
                                  1
                                0.3
                                0.1
                               0.03
                               0.01
                         0.003
                         0.001
         0.0003
         0.0001



                                      Core   Bugzilla   Firefox    Thunderbird   Seamonkey

                                                        Projects
                                                        6 /13
Summary of the Box-Plots

       Project              Smallest Fix-time
       Platform                10 seconds

         PDE                   12 seconds

         JDT                   10 seconds

         CDT                    9 seconds

         GEF                    8 seconds

         Core                   11 seconds

       Bugzilla                 3 seconds

        Firefox                13 seconds

      Thunderbird              18 seconds

      SeaMonkey                14 seconds



                    7 /13
Ask a
developer!




      8 /13
Ask a
            developer!
➡“the developer has already the
necessary code changes ready to fix a
bug, then files a bug to make sure it's
getting tracked in the system”




                    8 /13
Filtering out unreliable reports?
✓ How does this impact the accuracy?




                     9 /13
Filtering out unreliable reports?
✓ How does this impact the accuracy?



Small experiment
✓ Based on experiment from “Predicting the Fix
   Time of Bugs” from Giger et al. (2010)




                       9 /13
Train from the history of bug reports
    ✓ Fields are extracted from the reports
          day opened, month opened, platform, reporter,
        ➡
          severity,...

    ✓ Naïve Bayes classifiers learns the
       characteristics from the reports

    ✓ 10-fold cross validation




                        10/13
Train from the history of bug reports
    ✓ Fields are extracted from the reports
          day opened, month opened, platform, reporter,
        ➡
          severity,...

    ✓ Naïve Bayes classifiers learns the
       characteristics from the reports

    ✓ 10-fold cross validation

  Bugs are grouped in two sets
          ✓ Fast: fixtime ≤ median
          ✓ Slow: fixtime > median
                        10/13
Evaluation:
✓ Receiver Operating Characteristic(ROC) curve

✓ Area Under Curve(AUC): 0.5 is random
  prediction; 1.0 perfect classification




                     11/13
Evaluation:
 ✓ Receiver Operating Characteristic(ROC) curve

 ✓ Area Under Curve(AUC): 0.5 is random
   prediction; 1.0 perfect classification


Two-fold experiment
✓ With and without the filtering of bug reports
✓ Threshold for filtering set to 1/2 of the first
   quartile


                        11/13
Accuracy Results

 Project      AUC Before      AUC After
 Platform             0.692     0.700

   PDE                0.641     0.661

   JDT                0.646     0.649

   CDT                0.693     0.708

   GEF                0.663     0.732

   Core               0.663     0.686

 Bugzilla             0.722     0.733

  Firefox             0.623     0.653

Thunderbird           0.657     0.645

SeaMonkey             0.698     0.706



              12/13
Conclusions
✓ More investigation needed when dealing
  with real-world data

✓ Some bugs are fixed conspicuously fast!
✓ More preprocessing/filtering may lead to
  improved results


                     13/13

Weitere ähnliche Inhalte

Ähnlich wie Filtering Bug Reports for Fix-Time Analysis

DotDotPwn v3.0 [GuadalajaraCON 2012]
DotDotPwn v3.0 [GuadalajaraCON 2012]DotDotPwn v3.0 [GuadalajaraCON 2012]
DotDotPwn v3.0 [GuadalajaraCON 2012]
Websec México, S.C.
 
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDSAn Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
Sumant Tambe
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
Martin Pinzger
 

Ähnlich wie Filtering Bug Reports for Fix-Time Analysis (20)

Enabling Java in Latency Sensitive Applications by Gil Tene, CTO, Azul Systems
Enabling Java in Latency Sensitive Applications by Gil Tene, CTO, Azul SystemsEnabling Java in Latency Sensitive Applications by Gil Tene, CTO, Azul Systems
Enabling Java in Latency Sensitive Applications by Gil Tene, CTO, Azul Systems
 
Microservices with Micronaut
Microservices with MicronautMicroservices with Micronaut
Microservices with Micronaut
 
Evolution of Monitoring and Prometheus (Dublin 2018)
Evolution of Monitoring and Prometheus (Dublin 2018)Evolution of Monitoring and Prometheus (Dublin 2018)
Evolution of Monitoring and Prometheus (Dublin 2018)
 
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
 
Software Bugs A Software Architect Point Of View
Software Bugs    A Software Architect Point Of ViewSoftware Bugs    A Software Architect Point Of View
Software Bugs A Software Architect Point Of View
 
[xp2013] Narrow Down What to Test
[xp2013] Narrow Down What to Test[xp2013] Narrow Down What to Test
[xp2013] Narrow Down What to Test
 
Fighting Fragmentation with Fragments
Fighting Fragmentation with FragmentsFighting Fragmentation with Fragments
Fighting Fragmentation with Fragments
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator Project
 
How's relevant JMeter to me - DevConf (Letterkenny)
How's relevant JMeter to me - DevConf (Letterkenny)How's relevant JMeter to me - DevConf (Letterkenny)
How's relevant JMeter to me - DevConf (Letterkenny)
 
An Introduction to Prometheus (GrafanaCon 2016)
An Introduction to Prometheus (GrafanaCon 2016)An Introduction to Prometheus (GrafanaCon 2016)
An Introduction to Prometheus (GrafanaCon 2016)
 
Guadalajara con 2012
Guadalajara con 2012Guadalajara con 2012
Guadalajara con 2012
 
DotDotPwn v3.0 [GuadalajaraCON 2012]
DotDotPwn v3.0 [GuadalajaraCON 2012]DotDotPwn v3.0 [GuadalajaraCON 2012]
DotDotPwn v3.0 [GuadalajaraCON 2012]
 
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDSAn Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
 
05 019 web-3d_service
05 019 web-3d_service05 019 web-3d_service
05 019 web-3d_service
 
Software Testing: Test Design and the Project Life Cycle
Software Testing: Test Design and the Project Life CycleSoftware Testing: Test Design and the Project Life Cycle
Software Testing: Test Design and the Project Life Cycle
 
Solve the colocation conundrum: Performance and density at scale with Kubernetes
Solve the colocation conundrum: Performance and density at scale with KubernetesSolve the colocation conundrum: Performance and density at scale with Kubernetes
Solve the colocation conundrum: Performance and density at scale with Kubernetes
 
main
mainmain
main
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
 
Manual testing interview questions
Manual testing interview questionsManual testing interview questions
Manual testing interview questions
 
AngularJS - Overcoming performance issues. Limits.
AngularJS - Overcoming performance issues. Limits.AngularJS - Overcoming performance issues. Limits.
AngularJS - Overcoming performance issues. Limits.
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
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
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Filtering Bug Reports for Fix-Time Analysis

  • 1. Proceedings of the 16th European Conference on Software Maintenance and Reengineering Filtering Bug Reports for Fix-Time Analysis Ahmed Lamkanfi, Serge Demeyer Antwerp Systems and Software Modelling Ansymo 1 /13
  • 2. Bug Report Fix-Time Prediction Predicting Eclipse Bug Lifetimes A Comparative Exploration of FreeBSD Bug Lifetimes Predicting the Fix Time of Bugs Panjer et al. Bougie et al. Giger et al. 2 /13
  • 3. Bug Report Fix-Time Prediction Predicting Eclipse Bug Lifetimes A Comparative Exploration of FreeBSD Bug Lifetimes Predicting the Fix Time of Bugs Panjer et al. Bougie et al. Giger et al. 2 /13
  • 4. Bug Report Fix-Time Prediction Predicting Eclipse Bug Lifetimes A Comparative Exploration of FreeBSD Bug Lifetimes Predicting the Fix Time of Bugs Panjer et al. Bougie et al. Giger et al. 2 /13
  • 5. History of all reported bugs Bug Database Uncover facts about history Make predictions about future 3 /13
  • 6. History of all reported bugs Bug Database Uncover facts about history Make predictions about future Fix-time of a bug? ✓ Time between opening and resolving a bug. 3 /13
  • 7. Cases under Study: Eclipse and Mozilla Project Nr. of Bugs Period Platform 76.456 Oct. 2001 - Oct. 2007 PDE 11.117 Oct. 2001 - Oct. 2007 JDT 41.691 Oct. 2001 - Oct. 2007 CDT 11.468 Oct. 2001 - Oct. 2007 GEF 1.587 Oct. 2001 - Oct. 2007 Core 143.542 Mar. 1997 - Jul. 2008 Bugzilla 19.135 Mar. 2003 - Jul. 2008 Firefox 79.272 Jul. 1999 - Jul. 2008 Thunderbird 23.408 Jan. 2000 - Jul. 2008 SeaMonkey 85.143 Nov. 1995 - Jul. 2008 4 /13
  • 8. 3000 1000 300 100 30 Fix−Time (logarithmic scale) 10 3 1 0.3 0.1 0.03 0.01 0.003 0.001 0.0003 0.0001 Platform PDE JDT CDT GEF Projects 5 /13
  • 9. 3000 1000 300 100 30 Fix−Time (logarithmic scale) 10 3 1 0.3 0.1 0.03 0.01 0.003 0.001 0.0003 0.0001 Core Bugzilla Firefox Thunderbird Seamonkey Projects 6 /13
  • 10. Summary of the Box-Plots Project Smallest Fix-time Platform 10 seconds PDE 12 seconds JDT 10 seconds CDT 9 seconds GEF 8 seconds Core 11 seconds Bugzilla 3 seconds Firefox 13 seconds Thunderbird 18 seconds SeaMonkey 14 seconds 7 /13
  • 12. Ask a developer! ➡“the developer has already the necessary code changes ready to fix a bug, then files a bug to make sure it's getting tracked in the system” 8 /13
  • 13. Filtering out unreliable reports? ✓ How does this impact the accuracy? 9 /13
  • 14. Filtering out unreliable reports? ✓ How does this impact the accuracy? Small experiment ✓ Based on experiment from “Predicting the Fix Time of Bugs” from Giger et al. (2010) 9 /13
  • 15. Train from the history of bug reports ✓ Fields are extracted from the reports day opened, month opened, platform, reporter, ➡ severity,... ✓ Naïve Bayes classifiers learns the characteristics from the reports ✓ 10-fold cross validation 10/13
  • 16. Train from the history of bug reports ✓ Fields are extracted from the reports day opened, month opened, platform, reporter, ➡ severity,... ✓ Naïve Bayes classifiers learns the characteristics from the reports ✓ 10-fold cross validation Bugs are grouped in two sets ✓ Fast: fixtime ≤ median ✓ Slow: fixtime > median 10/13
  • 17. Evaluation: ✓ Receiver Operating Characteristic(ROC) curve ✓ Area Under Curve(AUC): 0.5 is random prediction; 1.0 perfect classification 11/13
  • 18. Evaluation: ✓ Receiver Operating Characteristic(ROC) curve ✓ Area Under Curve(AUC): 0.5 is random prediction; 1.0 perfect classification Two-fold experiment ✓ With and without the filtering of bug reports ✓ Threshold for filtering set to 1/2 of the first quartile 11/13
  • 19. Accuracy Results Project AUC Before AUC After Platform 0.692 0.700 PDE 0.641 0.661 JDT 0.646 0.649 CDT 0.693 0.708 GEF 0.663 0.732 Core 0.663 0.686 Bugzilla 0.722 0.733 Firefox 0.623 0.653 Thunderbird 0.657 0.645 SeaMonkey 0.698 0.706 12/13
  • 20. Conclusions ✓ More investigation needed when dealing with real-world data ✓ Some bugs are fixed conspicuously fast! ✓ More preprocessing/filtering may lead to improved results 13/13

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n