SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
Duplicate Bug Reports
Considered Harmful ...
Really?!


Nicolas Bettenburg    Rahul Premraj          Tom Zimmermann          Sunghun Kim
Saarland University   Saarland University    University of Calgary   MIT CSAIL
Queenʼs University    Vrije Uni. Amsterdam   Microsoft Research      Hong Kong University
2
Duplicate Bug Reports




                     # 2271

                      A
      Bug Database




                              3
Duplicate Bug Reports




  BUG                  # 2271

                        A
        Bug Database




                                3
Duplicate Bug Reports




                     # 2271   # 3219

                      A         B
      Bug Database




                                       3
Duplicate Bug Reports




                     # 2271   # 3219

                      A         B
      Bug Database




                                       4
Duplicate Bug Reports




                     # 2271   # 3219

                      A         B
      Bug Database




                                       4
What are the
reasons for duplicates?




                          5
Inexperienced Users
                      6
Poor Search Feature
                      7
Multiple Failures - One Defect
                                 8
Accidental Resubmission
                          9
FIX THAT BUG!




Intentional Resubmission
                           10
ECLIPSE
20%   Duplicates
371   per month



                   11
Duplicate reports are
usually ignored
once identified!




                        12
But Wait!
 Is this really
      the right
 thing to do?



              13
“Duplicates [...] often
                 add useful information.
                   [It is unfortunate that
                 this information is filed
                        in a new report.]”


Developer
What Makes a Good Bug Report?
to appear in FSE 2008

                                         14
Alan Page
Director of Test Excellence, Microsoft

                                         15
Bug duplicates can provide
             valuable information [...]




Alan Page
Director of Test Excellence, Microsoft

                                         15
Experiment 1
Do duplicate bug reports
contain additional
information?



             2 EXPERIMENTS

                           Experiment 2
                                 Can additional
                           information improve
                                  bug triaging?
                                                  16
Experiment 1
Do duplicate bug reports contain additional information?




                                                           17
The infoZilla Tool
                                                                                                                                Detects and Extracts
Bug 137808
 Summary:             Exceptions from createFromString lock-up the editor
 Product:             [Modeling] EMF         Reporter:               Patrick Sodre <psodre@gmail.com>
 Component:           Core                   Assignee:               Marcelo Paternostro <marcelop@ca.ibm.com>
 Status:              VERIFIED FIXED         QA Contact:
 Severity:            normal




                                                                                                                                Structural Information:
 Priority:            P3                     CC:                     merks@ca.ibm.com
 Version:             2.2
 Target Milestone:    ---
 Hardware:            PC
 OS:                  Windows XP
 Whiteboard:


                                                                             Opened: 2006-04-20 14:25 -
Description:
                                                                             0400

As discussed on the newsgroup under the Thread with the same name I am opening
this bug entry. Here is a history of the thread.

-- From Ed Merks

Patrick,

The value is checked before it's applied and can't be applied until it's valid.
 But this BigDecimal cases behaves oddly because the exception thrown by

new BigDecimal(quot;badvaluequot;)

has a null message and the property editor relies on returning a non-null
                                                                                                                                     SCREENSHOTS
message string to indicate there is an error.

Please open a bugzilla which I'll fix like this:

### Eclipse Workspace Patch 1.0
#P org.eclipse.emf.edit.ui
Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java
===================================================================
RCS file:
/cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v
retrieving revision 1.10
diff -u -r1.10 PropertyDescriptor.java
--- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     21 Mar 2006




                                                                                                                                     SOURCE CODE
16:42:30 -0000     1.10
+++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java     20 Apr 2006
11:59:10 -0000
@@ -162,7 +162,8 @@
                 }
                 catch (Exception exception)
                 {
-                  return exception.getMessage();
+                  String message = exception.getMessage();
+                  return message == null ? exception.toString() : message;
                 }
               }
               Diagnostic diagnostic =
Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value);


Patrick Sodre wrote:
Hi,
    It seems that if the user inputs an invalid parameter that gets created from
quot;createFromStringquot; the Editor locks-up until the user explicitly calls quot;restore
Default Valuequot;.
    Is this the expected behavior or could something better be done? For




                                                                                                                                       PATCHES
instance if an exception is thrown restore the value back to what it was before
after displaying a pop-up error message.
    I understand that for DataTypes defined by the user he/she should take care
of catching the exceptions but for the default ones like BigInteger/BigDecimal
I think the EMF runtime could do some of the grunt work...
    If you think this is something worth pursuing I could post an entry in
Bugzilla.

Regards,
Patrick Sodre


Below is the stack trace that I got from the Editor...

java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:368)
at java.math.BigDecimal.<init>(BigDecimal.java:647)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559)
at
org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116)
at
org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183)




                                                                                                                                     STACK TRACES
at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449)
at
org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135)
at
org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249)
at


------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 -------

The fix has been committed to CVS.           Thanks for reporting this problem.




                                                                                             Extracting Structural Information from Bug Reports
                                                                                                                 MSR 2008
Experimental Setup

    BUGthisasd
    asdlknasdklnasdlk
    askdnaklsdn
    aksdnlaksdnlkasdkn

    asd
    sadddda
    asdaddasd

    aksdnlaskdnlkansd




 Master Report                             Elements



    BUGthisasd
    asdlknasdklnasdlk
                               infoZilla
    askdnaklsdn
    aksdnlkasdkn
    asdasdasdasdasd
    a
    s                 adddda
    a

    daddasd
    asdasdasdasdasd
    askdnlkansd




Duplicate Report                           Elements



                                                      19
Experimental Setup


                        compare

  Elements                          Elements

   BUGthisasd
   asdlknasdklnasdlk
                                      BUGthisasd
   askdnaklsdn                        asdlknasdklnasdlk
                                      askdnaklsdn
                                      aksdnlaksdnlkasdkn
   aksdnlaksdnlkasdkn                 asd
                                      sadddda
                                      asdaddasd
                                      aksdnlaskdnlkansd
   asd                                                     BUGthisasd
                                                           asdlknasdklnasdlk
                                                           askdnaklsdn
   sadddda                                                 aksdnlkasdkn
                                                           asdasdasdasdasd
                                                           a
   asdaddasd                                               s
                                                           adddda
                                                           a

   aksdnlaskdnlkansd                                       daddasd
                                                           asdasdasdasdasd
                                                           askdnlkansd




Master Report                     Extended Report




                                                                               20
ECLIPSE




          21
16,511 Master Reports
ECLIPSE




                                  21
16,511 Master Reports
ECLIPSE

          27,838 Duplicate Reports




                                     21
16,511 Master Reports
ECLIPSE

            27,838 Duplicate Reports



          Unique elements per report:




                     Master   Extended   21
16,511 Master Reports
ECLIPSE

                27,838 Duplicate Reports



          Unique elements per report:
          2.5
                         1.94
          2.0     1.83

          1.5                               1.42


          1.0
                                     0.50
          0.5                                               0.29
                                                     0.14
           0
                  Patches           Stacktraces     Screenshots

                                Master        Extended             21
Experiment 1
Do duplicate bug reports contain additional information?




                                                           22
Experiment 1
Do duplicate bug reports contain additional information?




         They do!
                                                           22
Experiment 2
Can additional information improve bug triaging?




                                                   23
Bug Triage


   Developer




               24
Bug Triage

 BUG



Report      Developer




                        24
Bug Triage

 BUG



            Developer
                        ✓BUG



                        Fixed
Report




                                24
Bug Triage
                      BUG
             BUG




                                               ✓
      BUG
                                                BUG
BUG                 BUG

            BUG
                          BUG
                   Report
                   BUG             Developer   Fixed




                                                       24
Bug Triage
                      BUG
             BUG




                                                        ✓
      BUG
                                                         BUG
BUG                 BUG

            BUG
                          BUG
                   Report
                   BUG            Triager   Developer   Fixed




                                                                24
Experimental Setup


•Machine learning to predict developers
•Train using master reports
•Train using extended reports
•10 Runs

                                          25
Results for predicting Top-5 developers

Precision

  70.00
                                                                                                            65
                                                         61        60                             60
  61.25                                                                                 58
                                                              57                             57        56             56
                                                    55
                           52        53        52                                  52
  52.50                                                                       51                                 51
                 47   47        47        48                             48

  43.75     42




  Run        1         2         3         4         5         6           7        8         9        10        All


                                                Master                  Extended


                                                                                                                           26
Experiment 2
Can additional information improve bug triaging?




                                                   27
Experiment 2
Can additional information improve bug triaging?




         They can!
                                                   27
Duplicate reports are
usually ignored
once identified!




                        28
Duplicate reports are
usually ignored




                   X
once identified!


Merge Reports

                        28
29
29
29
29
29

Contenu connexe

Similaire à Duplicate Bug Reports Considered Harmful ... Really?

Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Nicolas Bettenburg
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceThomas Zimmermann
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyBrian Lyttle
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise ApplicationsDaniel Oh
 
CI from scratch with Jenkins (EN)
CI from scratch with Jenkins (EN)CI from scratch with Jenkins (EN)
CI from scratch with Jenkins (EN)Borislav Traykov
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Cωνσtantίnoς Giannoulis
 
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
 
Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Marcel Bruch
 
Dependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsDependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsRoberto Natella
 
Testing Web Based Applications[1]
Testing Web Based Applications[1]Testing Web Based Applications[1]
Testing Web Based Applications[1]MBA_Community
 
K8Guard - An Auditing System For Kubernetes
K8Guard - An Auditing System For KubernetesK8Guard - An Auditing System For Kubernetes
K8Guard - An Auditing System For KubernetesMedya Ghazizadeh
 
It's Not a Bug, It's a Feature — How Misclassification Impacts Bug Prediction
It's Not a Bug, It's a Feature — How Misclassification Impacts Bug PredictionIt's Not a Bug, It's a Feature — How Misclassification Impacts Bug Prediction
It's Not a Bug, It's a Feature — How Misclassification Impacts Bug Predictionsjust
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking SystemsRahul Premraj
 
Re-checking the ReactOS project - a large report
Re-checking the ReactOS project - a large reportRe-checking the ReactOS project - a large report
Re-checking the ReactOS project - a large reportPVS-Studio
 
Analyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-StudioAnalyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-StudioPVS-Studio
 
Accord.Net: Looking for a Bug that Could Help Machines Conquer Humankind
Accord.Net: Looking for a Bug that Could Help Machines Conquer HumankindAccord.Net: Looking for a Bug that Could Help Machines Conquer Humankind
Accord.Net: Looking for a Bug that Could Help Machines Conquer HumankindPVS-Studio
 

Similaire à Duplicate Bug Reports Considered Harmful ... Really? (20)

Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
 
Production Debugging at Code Camp Philly
Production Debugging at Code Camp PhillyProduction Debugging at Code Camp Philly
Production Debugging at Code Camp Philly
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
CI from scratch with Jenkins (EN)
CI from scratch with Jenkins (EN)CI from scratch with Jenkins (EN)
CI from scratch with Jenkins (EN)
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
 
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
 
Grounded Pointers
Grounded PointersGrounded Pointers
Grounded Pointers
 
Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...Because you can’t fix what you don’t know is broken...
Because you can’t fix what you don’t know is broken...
 
Dependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsDependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software Bugs
 
Testing Web Based Applications[1]
Testing Web Based Applications[1]Testing Web Based Applications[1]
Testing Web Based Applications[1]
 
JUNit Presentation
JUNit PresentationJUNit Presentation
JUNit Presentation
 
K8Guard - An Auditing System For Kubernetes
K8Guard - An Auditing System For KubernetesK8Guard - An Auditing System For Kubernetes
K8Guard - An Auditing System For Kubernetes
 
Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?
 
It's Not a Bug, It's a Feature — How Misclassification Impacts Bug Prediction
It's Not a Bug, It's a Feature — How Misclassification Impacts Bug PredictionIt's Not a Bug, It's a Feature — How Misclassification Impacts Bug Prediction
It's Not a Bug, It's a Feature — How Misclassification Impacts Bug Prediction
 
Mcollective introduction
Mcollective introductionMcollective introduction
Mcollective introduction
 
Improving Bug Tracking Systems
Improving Bug Tracking SystemsImproving Bug Tracking Systems
Improving Bug Tracking Systems
 
Re-checking the ReactOS project - a large report
Re-checking the ReactOS project - a large reportRe-checking the ReactOS project - a large report
Re-checking the ReactOS project - a large report
 
Analyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-StudioAnalyzing the Blender project with PVS-Studio
Analyzing the Blender project with PVS-Studio
 
Accord.Net: Looking for a Bug that Could Help Machines Conquer Humankind
Accord.Net: Looking for a Bug that Could Help Machines Conquer HumankindAccord.Net: Looking for a Bug that Could Help Machines Conquer Humankind
Accord.Net: Looking for a Bug that Could Help Machines Conquer Humankind
 

Plus de Nicolas Bettenburg

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...Nicolas Bettenburg
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Nicolas Bettenburg
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsNicolas Bettenburg
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Nicolas Bettenburg
 
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeUsing Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeNicolas Bettenburg
 
A Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataA Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataNicolas Bettenburg
 
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...Nicolas Bettenburg
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelNicolas Bettenburg
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...Nicolas Bettenburg
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Nicolas Bettenburg
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesNicolas Bettenburg
 
Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulNicolas Bettenburg
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived QualityNicolas Bettenburg
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And RecallNicolas Bettenburg
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07Nicolas Bettenburg
 

Plus de Nicolas Bettenburg (19)

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...
 
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source CodeUsing Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
 
A Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataA Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured Data
 
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
 
Mud flash
Mud flashMud flash
Mud flash
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
 
Fuzzy Logic in Smart Homes
Fuzzy Logic in Smart HomesFuzzy Logic in Smart Homes
Fuzzy Logic in Smart Homes
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing Changes
 
Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered Harmful
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived Quality
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And Recall
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07
 
Metropolis Instant Radiosity
Metropolis Instant RadiosityMetropolis Instant Radiosity
Metropolis Instant Radiosity
 

Dernier

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 

Dernier (20)

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 

Duplicate Bug Reports Considered Harmful ... Really?

  • 1. Duplicate Bug Reports Considered Harmful ... Really?! Nicolas Bettenburg Rahul Premraj Tom Zimmermann Sunghun Kim Saarland University Saarland University University of Calgary MIT CSAIL Queenʼs University Vrije Uni. Amsterdam Microsoft Research Hong Kong University
  • 2. 2
  • 3. Duplicate Bug Reports # 2271 A Bug Database 3
  • 4. Duplicate Bug Reports BUG # 2271 A Bug Database 3
  • 5. Duplicate Bug Reports # 2271 # 3219 A B Bug Database 3
  • 6. Duplicate Bug Reports # 2271 # 3219 A B Bug Database 4
  • 7. Duplicate Bug Reports # 2271 # 3219 A B Bug Database 4
  • 8. What are the reasons for duplicates? 5
  • 11. Multiple Failures - One Defect 8
  • 13. FIX THAT BUG! Intentional Resubmission 10
  • 14. ECLIPSE 20% Duplicates 371 per month 11
  • 15. Duplicate reports are usually ignored once identified! 12
  • 16. But Wait! Is this really the right thing to do? 13
  • 17. “Duplicates [...] often add useful information. [It is unfortunate that this information is filed in a new report.]” Developer What Makes a Good Bug Report? to appear in FSE 2008 14
  • 18. Alan Page Director of Test Excellence, Microsoft 15
  • 19. Bug duplicates can provide valuable information [...] Alan Page Director of Test Excellence, Microsoft 15
  • 20. Experiment 1 Do duplicate bug reports contain additional information? 2 EXPERIMENTS Experiment 2 Can additional information improve bug triaging? 16
  • 21. Experiment 1 Do duplicate bug reports contain additional information? 17
  • 22. The infoZilla Tool Detects and Extracts Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Structural Information: Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null SCREENSHOTS message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 SOURCE CODE 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from quot;createFromStringquot; the Editor locks-up until the user explicitly calls quot;restore Default Valuequot;. Is this the expected behavior or could something better be done? For PATCHES instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) STACK TRACES at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem. Extracting Structural Information from Bug Reports MSR 2008
  • 23. Experimental Setup BUGthisasd asdlknasdklnasdlk askdnaklsdn aksdnlaksdnlkasdkn asd sadddda asdaddasd aksdnlaskdnlkansd Master Report Elements BUGthisasd asdlknasdklnasdlk infoZilla askdnaklsdn aksdnlkasdkn asdasdasdasdasd a s adddda a daddasd asdasdasdasdasd askdnlkansd Duplicate Report Elements 19
  • 24. Experimental Setup compare Elements Elements BUGthisasd asdlknasdklnasdlk BUGthisasd askdnaklsdn asdlknasdklnasdlk askdnaklsdn aksdnlaksdnlkasdkn aksdnlaksdnlkasdkn asd sadddda asdaddasd aksdnlaskdnlkansd asd BUGthisasd asdlknasdklnasdlk askdnaklsdn sadddda aksdnlkasdkn asdasdasdasdasd a asdaddasd s adddda a aksdnlaskdnlkansd daddasd asdasdasdasdasd askdnlkansd Master Report Extended Report 20
  • 25. ECLIPSE 21
  • 27. 16,511 Master Reports ECLIPSE 27,838 Duplicate Reports 21
  • 28. 16,511 Master Reports ECLIPSE 27,838 Duplicate Reports Unique elements per report: Master Extended 21
  • 29. 16,511 Master Reports ECLIPSE 27,838 Duplicate Reports Unique elements per report: 2.5 1.94 2.0 1.83 1.5 1.42 1.0 0.50 0.5 0.29 0.14 0 Patches Stacktraces Screenshots Master Extended 21
  • 30. Experiment 1 Do duplicate bug reports contain additional information? 22
  • 31. Experiment 1 Do duplicate bug reports contain additional information? They do! 22
  • 32. Experiment 2 Can additional information improve bug triaging? 23
  • 33. Bug Triage Developer 24
  • 34. Bug Triage BUG Report Developer 24
  • 35. Bug Triage BUG Developer ✓BUG Fixed Report 24
  • 36. Bug Triage BUG BUG ✓ BUG BUG BUG BUG BUG BUG Report BUG Developer Fixed 24
  • 37. Bug Triage BUG BUG ✓ BUG BUG BUG BUG BUG BUG Report BUG Triager Developer Fixed 24
  • 38. Experimental Setup •Machine learning to predict developers •Train using master reports •Train using extended reports •10 Runs 25
  • 39. Results for predicting Top-5 developers Precision 70.00 65 61 60 60 61.25 58 57 57 56 56 55 52 53 52 52 52.50 51 51 47 47 47 48 48 43.75 42 Run 1 2 3 4 5 6 7 8 9 10 All Master Extended 26
  • 40. Experiment 2 Can additional information improve bug triaging? 27
  • 41. Experiment 2 Can additional information improve bug triaging? They can! 27
  • 42. Duplicate reports are usually ignored once identified! 28
  • 43. Duplicate reports are usually ignored X once identified! Merge Reports 28
  • 44. 29
  • 45. 29
  • 46. 29
  • 47. 29
  • 48. 29