SlideShare una empresa de Scribd logo
1 de 35
Bug Triage
with Bug Tossing Graphs
Gaeul Jeong, Sunghun Kim and Thomas Zimmermann
                               August 26, 2009


        Joint meeting of the European Software Engineering Conference (ESEC)
 and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE),
                                     Armsterdam,
                                   The Netherlands
Bug triage

Bu                                                    Bu
     g                                                     g

                                                      X

                                       Fixed
New                      Assigned                Resolved




         The life cycle of a bug report (A. Zeller)
                             2
Problem
    More than                More than
300 reports per day       1,000 developers

       Bu
            g              ?                        Bu
                                                         g

                                                   X

                                       Fixed
       New              Assigned               Resolved




                           3
Consequences
Mozilla
                      297,999 bugs                      116,890 bugs
                                       First                              First
           Reported                                                    Assignment
                                      Action
                       26.1 days                         161.1 days


                                       (a) All Bugs


     pse
                      131,958 bugs                      49,431 bugs
Ecli       Reported
                      144,102 bugs
                                       First
                                      Action            88,706 bugs
                                                                          First
                                                                       Assignment
                        7.1 days       First             38.1 days        First
           Reported                                                    Assignment
                                      Action
                       16.7 days                         23.6 days
                                     (b) Verified Bugs
                                       (a) All Bugs

                      18,498 bugs                       15,045 bugs
                                       First                              First
           Reported                                                    Assignment
                                      Action
                        5.2 days           4             19.3 days
Bug tossing
                Tossing (reassign)

Bu                                             Bu
     g                                              g

                                              X

                                 Fixed
New                Assigned               Resolved




         The life cycle of a bug report
                       5
Consequences
                       %!!

                       $"!
!"#$%&#'(%)*'+,'-%.#




                       $!!

                       #"!
                                                                              +,-.//0
                       #!!                                                    12/.345
                       "!

                         !
                             #   $   %   &      "       '    (   )   *   #!
                                             -,**/0&'1+#2*




                                                    6
Two Challenges


• Finding appropriate developer is hard
• Wrong assignment(bug tossing) make the
  fixing process slow down




                  7
Our solution

• Learning from previous tossing history
• To help
   • Assist manual bug triage
   • Reducing tossing paths
   • Assign bug automatically

                      8
Bug tossing path

• Extracting bug tossing information
• Identify more appropriate developers using
  tossing relationship




                         9
Learning from tossing paths
                                     Path tokens

                                  A→D (2), A→E(1)
Extracted path information
                                  B→D(1)
A    B     C      D
A    C     D      E               C→D(2), C→E(1)
C    E     A      F     D         D→E(1)

                                  E→D(1)

                                  F→D(1)
                             10
Learning from tossing paths
                           Path tokens
 Generated graph
                        A→D (2), A→E(1)

                        B→D(1)

                        C→D(2), C→E(1)

                        D→E(1)

                        E→D(1)

                        F→D(1)
                   11
Learning from tossing paths
                           Path tokens
 Generated graph
                        A→D (2), A→E(1)

           A            B→D(1)

                        C→D(2), C→E(1)

                        D→E(1)

                        E→D(1)

                        F→D(1)
                   11
Learning from tossing paths
                           Path tokens
 Generated graph
                        A→D (2), A→E(1)

           A            B→D(1)
     67%
                        C→D(2), C→E(1)
   D
                        D→E(1)

                        E→D(1)

                        F→D(1)
                   11
Learning from tossing paths
                                   Path tokens
   Generated graph
                                A→D (2), A→E(1)
   F         A                  B→D(1)
100%   67%           33%
                                C→D(2), C→E(1)
       D             E
           100%
100%                            D→E(1)
       67%        33%
             C                  E→D(1)
   B
                                F→D(1)
                           11
Tossing graph from Eclipse




            12
Manual process with cliques




             13
Developer structure




         14
Developer feedback

• “Very neat stuff! The clustering was correct
  for the team”
• “This would be useful for both integrators
  and managers wanting to understand the
  life cycle of bugs”



                     15
Path reduction
• Reducing tossing paths by graph search
 • Original path
       A        B         C       D


 • Recommended path?
       A        ? Search from A

                     16
Greedy search
              for optimal path
   • Start from a given node (A)
   • Visit heavy neighboring nodes first
   F                    Original :   A   B   C   D
             A
100%   67%        33%
                        Our path : A     D
       D          E
           100%



                          17
Reduced paths

                             $
!"#$%&'#$((')**%+,((-#+,'.




                             #


                                                                                        +,-.//0
                             "                                                          12/.345


                             !
                                 "   #   $    %    &    '        (   )   !*   !!   !"
                                             /"%,%+0-((')**%+,(-#+,'.


                                                            18
Our solution

• Learning from previous tossing history
• To help
   • Assist manual bug triage
   • Reducing tossing paths
   • Assign bug automatically

                     19
Automatic bug triage
                 Bu
               Re
                 po   g
                   rt




               Machine
            Machine learner
    Who should fix this bug? (J. Anvik)
                   20
Automatic bug triage
                         Bu
                       Re
                         po   g
                           rt




 New!
   Bu
 Re
   po   g
     rt


                       Machine
                    Machine learner
            Who should fix this bug? (J. Anvik)
                           20
Automatic bug triage
                         Bu
                       Re
                         po   g
                           rt




 New!
   Bu
 Re
   po   g
     rt

                                                   Predict
                       Machine
                    Machine learner              developers
            Who should fix this bug? (J. Anvik)
                           20
Experiment

• Integrating bug tossing information
 • existing approaches          P1    P2                   P3
      P = [ 1Pp2 , ..., 1 ,np]2 , ..., pn }
          {p , = {p p }

  • our approach                       T1        T2   T3

         = = , t t 2 t t2 , ..., t }
      RPRP [{p1{p1 , p1 , p2 , ..., pn ,pn , ]tn }


                             21
Experiment

• Integrating bug tossing information
 •  existing approaches ....... First 3 : [p1, p2, p3 ]
        P = [ 1Pp2 , ..., 1 ,np]2 , ..., pn }
            {p , = {p p }

  •   our approach ..................      First 3 : [p1, t1, p2]

          = = , t t 2 t t2 , ..., t }
       RPRP [{p1{p1 , p1 , p2 , ..., pn ,pn , ]tn }


                               22
Eclipse triage result
First 2

First 3
                                                          Naïve + Tossing
                                                          Naïve
First 4

First 5
      37.500   45.625   53.750    61.875   70.000   (%)


                             23
Eclipse triage result
First 2

First 3
                                                          Naïve + Tossing
                                                          Naïve
First 4

First 5
      37.500   45.625   53.750    61.875   70.000   (%)


                             24
Mozilla triage result
First 2

First 3
                                                       Naïve + Tossing
                                                       Naïve
First 4

First 5
          25.00   38.75   52.50    66.25   80.00 (%)



                              25
Mozilla triage result
First 2

First 3
                                                       Naïve + Tossing
                                                       Naïve
First 4

First 5
          25.00   38.75   52.50    66.25   80.00 (%)



                              26
Summary

• Tossing graphs help to
 • Assist manual bug triage
 • Reduce tossing paths
 • Assign bug automatically

                    27
Thank you
Gaeul Jeong, Sunghun Kim and Thomas Zimmermann
       Joint meeting of the European Software Engineering Conference (ESEC)
and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE),
                                    Armsterdam,
                                  The Netherlands
Experiment
•   They use the first 165,385 Eclipse bugs for
    training
•   The machine learners predict developers for
    bugs in a testing set, Eclipse bug from 165,397
    to 211,822

          0                    165,397        211,822


                Training set             Testing set


                        29
ML+
program   ML algorithm   selection        ML only                 improvement
                                                    tossing graph

                           first2            43.7       44.71         1.01
                           first3           49.87       53.15         3.27
          Naive Bayes      first4           56.42       59.95         3.53
                           first5           60.71       63.48         2.77
Eclipse                    first2           57.91       58.29         0.38
           Bayesian        first3           66.71       68.47         1.76
           Network         first4           69.47       71.48         2.01
                           first5           75.88       77.14         1.26
                           first2           33.41       56.39        15.84
                           first3           45.39       63.82        12.81
          Naive Bayes      first4           52.94       69.51        12.05
                           first5           59.35       72.92        11.29
Mozilla                    first2           40.02       55.85        22.98
           Bayesian        first3           50.25       63.05        18.43
           Network         first4            55.4       67.45        16.57
                           first5           59.53       70.82        13.58



                                     30

Más contenido relacionado

Similar a Bug Triage Graphs Reduce Tossing

February 9 2016
February 9 2016February 9 2016
February 9 2016khyps13
 
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Www
M A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{WwwM A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{Www
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Wwwguest3f9c6b
 
03 image transformations_i
03 image transformations_i03 image transformations_i
03 image transformations_iankit_ppt
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7Sai Kumar
 
Evolutionary Algorithms and their Applications in Civil Engineering - 1
Evolutionary Algorithms and their Applications in Civil Engineering - 1Evolutionary Algorithms and their Applications in Civil Engineering - 1
Evolutionary Algorithms and their Applications in Civil Engineering - 1shreymodi
 
Class 6: Programming with Data
Class 6: Programming with DataClass 6: Programming with Data
Class 6: Programming with DataDavid Evans
 

Similar a Bug Triage Graphs Reduce Tossing (9)

Week 3 - Trigonometry
Week 3 - TrigonometryWeek 3 - Trigonometry
Week 3 - Trigonometry
 
February 9 2016
February 9 2016February 9 2016
February 9 2016
 
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Www
M A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{WwwM A T H E M A T I C S  I I I  J N T U  M O D E L  P A P E R{Www
M A T H E M A T I C S I I I J N T U M O D E L P A P E R{Www
 
03 image transformations_i
03 image transformations_i03 image transformations_i
03 image transformations_i
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7
 
Review
ReviewReview
Review
 
Evolutionary Algorithms and their Applications in Civil Engineering - 1
Evolutionary Algorithms and their Applications in Civil Engineering - 1Evolutionary Algorithms and their Applications in Civil Engineering - 1
Evolutionary Algorithms and their Applications in Civil Engineering - 1
 
Class 6: Programming with Data
Class 6: Programming with DataClass 6: Programming with Data
Class 6: Programming with Data
 
Basic data structures part I
Basic data structures part IBasic data structures part I
Basic data structures part I
 

Más de Sung Kim

DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningSung Kim
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Sung Kim
 
Time series classification
Time series classificationTime series classification
Time series classificationSung Kim
 
Tensor board
Tensor boardTensor board
Tensor boardSung Kim
 
REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...
REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...
REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...Sung Kim
 
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)Sung Kim
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesSung Kim
 
Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Sung Kim
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSung Kim
 
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Sung Kim
 
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)Sung Kim
 
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...Sung Kim
 
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)Sung Kim
 
Source code comprehension on evolving software
Source code comprehension on evolving softwareSource code comprehension on evolving software
Source code comprehension on evolving softwareSung Kim
 
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
A Survey on  Dynamic Symbolic Execution  for Automatic Test GenerationA Survey on  Dynamic Symbolic Execution  for Automatic Test Generation
A Survey on Dynamic Symbolic Execution for Automatic Test GenerationSung Kim
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect PredictionSung Kim
 
MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 openingSung Kim
 
Personalized Defect Prediction
Personalized Defect PredictionPersonalized Defect Prediction
Personalized Defect PredictionSung Kim
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSung Kim
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learningSung Kim
 

Más de Sung Kim (20)

DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
 
Time series classification
Time series classificationTime series classification
Time series classification
 
Tensor board
Tensor boardTensor board
Tensor board
 
REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...
REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...
REMI: Defect Prediction for Efficient API Testing (

ESEC/FSE 2015, Industria...
 
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution Techniques
 
Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)Crowd debugging (FSE 2015)
Crowd debugging (FSE 2015)
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
 
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
Partitioning Composite Code Changes to Facilitate Code Review (MSR2015)
 
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
Automatically Generated Patches as Debugging Aids: A Human Study (FSE 2014)
 
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
 
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
 
Source code comprehension on evolving software
Source code comprehension on evolving softwareSource code comprehension on evolving software
Source code comprehension on evolving software
 
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
A Survey on  Dynamic Symbolic Execution  for Automatic Test GenerationA Survey on  Dynamic Symbolic Execution  for Automatic Test Generation
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
 
MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 opening
 
Personalized Defect Prediction
Personalized Defect PredictionPersonalized Defect Prediction
Personalized Defect Prediction
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash Reproduction
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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 DevelopmentsTrustArc
 
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 productivityPrincipled Technologies
 
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 2024The Digital Insurer
 
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...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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 2024The Digital Insurer
 
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...apidays
 
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?Antenna Manufacturer Coco
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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
 
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...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
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...
 
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?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Bug Triage Graphs Reduce Tossing

  • 1. Bug Triage with Bug Tossing Graphs Gaeul Jeong, Sunghun Kim and Thomas Zimmermann August 26, 2009 Joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), Armsterdam, The Netherlands
  • 2. Bug triage Bu Bu g g X Fixed New Assigned Resolved The life cycle of a bug report (A. Zeller) 2
  • 3. Problem More than More than 300 reports per day 1,000 developers Bu g ? Bu g X Fixed New Assigned Resolved 3
  • 4. Consequences Mozilla 297,999 bugs 116,890 bugs First First Reported Assignment Action 26.1 days 161.1 days (a) All Bugs pse 131,958 bugs 49,431 bugs Ecli Reported 144,102 bugs First Action 88,706 bugs First Assignment 7.1 days First 38.1 days First Reported Assignment Action 16.7 days 23.6 days (b) Verified Bugs (a) All Bugs 18,498 bugs 15,045 bugs First First Reported Assignment Action 5.2 days 4 19.3 days
  • 5. Bug tossing Tossing (reassign) Bu Bu g g X Fixed New Assigned Resolved The life cycle of a bug report 5
  • 6. Consequences %!! $"! !"#$%&#'(%)*'+,'-%.# $!! #"! +,-.//0 #!! 12/.345 "! ! # $ % & " ' ( ) * #! -,**/0&'1+#2* 6
  • 7. Two Challenges • Finding appropriate developer is hard • Wrong assignment(bug tossing) make the fixing process slow down 7
  • 8. Our solution • Learning from previous tossing history • To help • Assist manual bug triage • Reducing tossing paths • Assign bug automatically 8
  • 9. Bug tossing path • Extracting bug tossing information • Identify more appropriate developers using tossing relationship 9
  • 10. Learning from tossing paths Path tokens A→D (2), A→E(1) Extracted path information B→D(1) A B C D A C D E C→D(2), C→E(1) C E A F D D→E(1) E→D(1) F→D(1) 10
  • 11. Learning from tossing paths Path tokens Generated graph A→D (2), A→E(1) B→D(1) C→D(2), C→E(1) D→E(1) E→D(1) F→D(1) 11
  • 12. Learning from tossing paths Path tokens Generated graph A→D (2), A→E(1) A B→D(1) C→D(2), C→E(1) D→E(1) E→D(1) F→D(1) 11
  • 13. Learning from tossing paths Path tokens Generated graph A→D (2), A→E(1) A B→D(1) 67% C→D(2), C→E(1) D D→E(1) E→D(1) F→D(1) 11
  • 14. Learning from tossing paths Path tokens Generated graph A→D (2), A→E(1) F A B→D(1) 100% 67% 33% C→D(2), C→E(1) D E 100% 100% D→E(1) 67% 33% C E→D(1) B F→D(1) 11
  • 15. Tossing graph from Eclipse 12
  • 16. Manual process with cliques 13
  • 18. Developer feedback • “Very neat stuff! The clustering was correct for the team” • “This would be useful for both integrators and managers wanting to understand the life cycle of bugs” 15
  • 19. Path reduction • Reducing tossing paths by graph search • Original path A B C D • Recommended path? A ? Search from A 16
  • 20. Greedy search for optimal path • Start from a given node (A) • Visit heavy neighboring nodes first F Original : A B C D A 100% 67% 33% Our path : A D D E 100% 17
  • 21. Reduced paths $ !"#$%&'#$((')**%+,((-#+,'. # +,-.//0 " 12/.345 ! " # $ % & ' ( ) !* !! !" /"%,%+0-((')**%+,(-#+,'. 18
  • 22. Our solution • Learning from previous tossing history • To help • Assist manual bug triage • Reducing tossing paths • Assign bug automatically 19
  • 23. Automatic bug triage Bu Re po g rt Machine Machine learner Who should fix this bug? (J. Anvik) 20
  • 24. Automatic bug triage Bu Re po g rt New! Bu Re po g rt Machine Machine learner Who should fix this bug? (J. Anvik) 20
  • 25. Automatic bug triage Bu Re po g rt New! Bu Re po g rt Predict Machine Machine learner developers Who should fix this bug? (J. Anvik) 20
  • 26. Experiment • Integrating bug tossing information • existing approaches P1 P2 P3 P = [ 1Pp2 , ..., 1 ,np]2 , ..., pn } {p , = {p p } • our approach T1 T2 T3 = = , t t 2 t t2 , ..., t } RPRP [{p1{p1 , p1 , p2 , ..., pn ,pn , ]tn } 21
  • 27. Experiment • Integrating bug tossing information • existing approaches ....... First 3 : [p1, p2, p3 ] P = [ 1Pp2 , ..., 1 ,np]2 , ..., pn } {p , = {p p } • our approach .................. First 3 : [p1, t1, p2] = = , t t 2 t t2 , ..., t } RPRP [{p1{p1 , p1 , p2 , ..., pn ,pn , ]tn } 22
  • 28. Eclipse triage result First 2 First 3 Naïve + Tossing Naïve First 4 First 5 37.500 45.625 53.750 61.875 70.000 (%) 23
  • 29. Eclipse triage result First 2 First 3 Naïve + Tossing Naïve First 4 First 5 37.500 45.625 53.750 61.875 70.000 (%) 24
  • 30. Mozilla triage result First 2 First 3 Naïve + Tossing Naïve First 4 First 5 25.00 38.75 52.50 66.25 80.00 (%) 25
  • 31. Mozilla triage result First 2 First 3 Naïve + Tossing Naïve First 4 First 5 25.00 38.75 52.50 66.25 80.00 (%) 26
  • 32. Summary • Tossing graphs help to • Assist manual bug triage • Reduce tossing paths • Assign bug automatically 27
  • 33. Thank you Gaeul Jeong, Sunghun Kim and Thomas Zimmermann Joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), Armsterdam, The Netherlands
  • 34. Experiment • They use the first 165,385 Eclipse bugs for training • The machine learners predict developers for bugs in a testing set, Eclipse bug from 165,397 to 211,822 0 165,397 211,822 Training set Testing set 29
  • 35. ML+ program ML algorithm selection ML only improvement tossing graph first2 43.7 44.71 1.01 first3 49.87 53.15 3.27 Naive Bayes first4 56.42 59.95 3.53 first5 60.71 63.48 2.77 Eclipse first2 57.91 58.29 0.38 Bayesian first3 66.71 68.47 1.76 Network first4 69.47 71.48 2.01 first5 75.88 77.14 1.26 first2 33.41 56.39 15.84 first3 45.39 63.82 12.81 Naive Bayes first4 52.94 69.51 12.05 first5 59.35 72.92 11.29 Mozilla first2 40.02 55.85 22.98 Bayesian first3 50.25 63.05 18.43 Network first4 55.4 67.45 16.57 first5 59.53 70.82 13.58 30