SlideShare a Scribd company logo
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

More Related Content

Similar to BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)

Week 3 - Trigonometry
Week 3 - TrigonometryWeek 3 - Trigonometry
Week 3 - Trigonometry
Carlos Vázquez
 
February 9 2016
February 9 2016February 9 2016
February 9 2016
khyps13
 
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_i
ankit_ppt
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7Sai Kumar
 
Review
ReviewReview
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 Data
David Evans
 
Basic data structures part I
Basic data structures part IBasic data structures part I
Basic data structures part I
Daniel Gomez-Prado
 

Similar to BugTriage with Bug Tossing Graphs (ESEC/FSE 2009) (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
 

More from 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 Learning
Sung 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 classification
Sung Kim
 
Tensor board
Tensor boardTensor board
Tensor board
Sung 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 Techniques
Sung 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 Datasets
Sung 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 software
Sung 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 Generation
Sung Kim
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
Sung Kim
 
MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 openingSung Kim
 
Personalized Defect Prediction
Personalized Defect PredictionPersonalized Defect Prediction
Personalized Defect Prediction
Sung 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 Reproduction
Sung Kim
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
Sung Kim
 

More from 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
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)

  • 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