SlideShare a Scribd company logo
1 of 42
Download to read offline
A   Qualitative Study on
            Performance Bugs

    Shahed Zaman               Bram%Adams
    Ahmed E. Hassan            MCIS,&École&Polytechnique&de&Montréal
    SAIL, Queen’s University
Bugs, Bugs, Bugs!
Costly        Affect%
            Reputa4on




                        2
Bugs, Bugs, Bugs!




    482%bugs/week
                    2
Most%research%treats%all%bugs%equally!%
       Does%this%make%sense?
Bugs, Bugs, Bugs!




                    problem&in&efficiency/speed&at&which&
Performance%Bug =
                    a&system&performs&at&runDEme
                                                          4
systemEkilling%
               performance%problems




hHp://www.pcmag.com/arEcle2/0,2817,2325772,00.asp   5
Security versus Performance Bugs:
A Case Study on


  Shahed&Zaman,&Bram&Adams,&Ahmed&E.&Hassan
  SoUware&Analysis&and&Intelligence&Lab&(SAIL),&Queen’s&University




                                                                     6
MSR%2011%Quan4ta4ve%Study

       Time                         People                    Bug%Fix




&&&&&Performance&bugs&take&   Performance&bugs&are&fixed&   Performance&bug&fixes&
       more%4me&to&fix            by&more&experienced&        are&more&complex
                                      developers


                                                                              7
Why?



       8
A   Qualitative Study on
            Performance Bugs

    Shahed Zaman               Bram%Adams
    Ahmed E. Hassan            MCIS,&École&Polytechnique&de&Montréal
    SAIL, Queen’s University
Study Setup
                          Chrome     ®


      295,198%bugs             44,997%bugs
 7,603%performance%bugs   510%performance%bugs




             100%Bugs                    100%Bugs
                  +                           +
             100%Bugs                    100%Bugs
                  =                           =
              200%Bugs                    200%Bugs

Performance%Bugs            NonEperformance%bugs
bug%reports



                   Our%heuris4cs%have:
                   100&±&10%%precision
                     83&±&10%%recall


‘slow’,%‘perf’,%
    ‘hang’

                   Our%heuris4cs%have:
                   90&±&10%%precision
                     97&±&10%%recall     11
analyze




          12
bug%report

+%a]achments




  comments
          13
update&taxonomy
analyze


          think


                               14
update&taxonomy
analyze


            think
Iterative
Process                          14
context&of&the&bug

                     4 Dimensions
                     (20 subdimensions)
                                            bug&fix&validaEon
impact&on&the&user




                            bug&fix
context&of&the&bug

                     4 Dimensions
                     (20 subdimensions)
                                            bug&fix&validaEon
impact&on&the&user




                            bug&fix
sta4s4cally%

                 Findings                    significant%
                                             difference


               is&regression
Performance
NonDPerf.
              blocks&release


    WFM&after&a&long&Time


 People&Threaten&to&switch

                               0   5   10   15     20      25 %
WorksForMe

No Traceability



                    17
Findings
               is&regression
Performance
NonDPerf.
              blocks&release


   WFM&after&a&long&Time


        scares&users&away

                               0   5   10   15   20   25 %
context&of&the&bug

                     4 Dimensions
                     (20 subdimensions)
                                            bug&fix&validaEon
impact&on&the&user




                            bug&fix
Performance
                 Findings                       NonDPerf.


  has&measurements

       has&test&cases

     has&stack&traces

Replication&Problems

Reported&by&Member

      Duplicate&Bugs

                        0   10   20   30   40     50   60 %
automa4c%performance%
   regression%tes4ng




                        21
automa4c%performance%
performance&
             regression%tes4ng
regression&
idenEfied&
automaEcally




                                  21
solicits%comparison%to%
    other%browsers




                          22
Performance
                    Findings                       NonDPerf.


     has&measurements

          has&test&cases

        has&stack&traces

has&replication&problems

   Reported&by&Member

         Duplicate&Bugs

                           0   10   20   30   40     50   60 %
Replication Problems



           <more
<empty>    empty>




incomplete&report    plugins/addDons

                                       24
Hard to Track Bugs of
External Applications




                   25
Performance
                     Findings                       NonDPerf.


 has&measurement&data

          has&test&cases

        has&stack&traces

has&replication&problems

is&reported&by&developer

           is&a&duplicate

                            0   10   20   30   40     50   60 %
context&of&the&bug

                     4 Dimensions
                     (20 subdimensions)
                                            bug&fix&validaEon
impact&on&the&user




                            bug&fix
Findings                Performance
                                            NonDPerf.


        has&discussion



Depends&on&Other&Bugs



    Blocks&Other&Bugs

                         0   10   20   30     40     50 %
Performance Bugs
   Require Collaboration

understand&the&problem

                         reach&consensus
idenEfy&bug&fix

                                 me&too
                                           29
Findings                Performance
                                           NonDPerf.


       has&discussion



depends&on&other&bug



    blocks&other&bug

                        0   10   20   30     40     50 %
Rebasing Performance




      adjust&baseline

                        31
context&of&the&bug

                     4 Dimensions
                     (20 subdimensions)
                                            bug&fix&validaEon
impact&on&the&user




                            bug&fix
NO
      &   diff
         er
            en
pe             ce
  rfo            &b e
      rm             tw
        an              ee
           ce               n &p
             &an                 atc
                 d &n               h &d
                      on                 i sc
                         Dp e                us
                             rfo                 si o
                                  rm                  ns
                                     an                  &an
                                          ce                 d &r
                                              &b u               ev
                                                   gs              iew
                                                                      s&o
                                                                            f



                                                                                33
is&regression                +   +
                     blocks&release               +   +
                     WFM&aUer&a&long&Eme          +   +
impact&on&the&user   scares&users&away            +   +
                     has&measurements             +   +
                     has&test&cases               +   +
                     contains&stacktrace          +   +
                     has&replicaEon&problems      +   +
context&of&the&bug
                     is&reported&by&a&developer   ?   +
                     is&a&duplicate               E   E
                     has&discussion               +   +
                     depends&on&other&bug         +   +
       bug&fix
                     blocks&other&bug             +   E
is&regression                +   +
                     blocks&release               +   +
                     WFM&aUer&a&long&Eme          +   +
impact&on&the&user   scares&users&away            +   +
                     has&measurements             +   +
                     has&test&cases               +   +
                     contains&stacktrace          +   +
                     has&replicaEon&problems      +   +
context&of&the&bug
                     is&reported&by&a&developer   ?   +
                     is&a&duplicate               E   E
                     has&discussion               +   +
                     depends&on&other&bug         +   +
       bug&fix
                     blocks&other&bug             +   E
MSR%2011%Quan4ta4ve%Study%(reprise)
                              Performance&bugs&are&fixed&
&&&&&Performance&bugs&take&                                Performance&bug&fixes&
                                 by&more&experienced&
       more%4me&to&fix                                        are&more&complex
                                      developers




  replication problems               more release
                                      blocking
  more dependencies
    m ore discussion                 users leaving
 WFM after a long time                                                        36
Threats to Validity


                                           ‘slow’,%‘perf’,%
                                               ‘hang’


human&bias
                                             heurisEcs&for&
               only&4&
                          only&2&subject   performance&bug&
             dimensions
                             systems         idenEficaEon
             &&&20&subD
             dimensions                                   37
Study Setup
                                         Chrome           ®
                                                                                                        no traceability
      295,198%bugs                                                                                          context&of&the&bug
                                                  44,997%bugs
 7,603%performance%bugs                      510%performance%bugs
                                                                                                        4 Dimensions
                                                                                                        (20 subdimensions)
                                                                                                                                       bug&fix&validaEon
                                                                            impact&on&the&user
                100%Bugs                                      100%Bugs
                     +                                             +
                100%Bugs                                      100%Bugs
                     =                                             =
                 200%Bugs                                      200%Bugs

Performance%Bugs                                  NonEperformance%bugs
                                                                                                                     bug&fix


                            is&regression                     +       +    MSR%2011%Quan4ta4ve%Study%(reprise)
                            blocks&release                    +       +
                            WFM&aUer&a&long&Eme               +       +                                  Performance&bugs&are&fixed&
                                                                          &&&&&Performance&bugs&take&                                 Performance&bug&fixes&
impact&on&the&user                                                                                          by&more&experienced&
                            scares&users&away                 +       +          more%4me&to&fix                                         are&more&complex
                                                                                                                 developers
                            has&measurements                  +       +
                            has&test&cases                    +       +
                            contains&stacktrace
                no reproducability                            +       +
                                                                                                                 discussion!
                            has&replicaEon&problems           +       +
                                                              ?       +     replication problems                  more release
                            is&reported&by&a&developer
context&of&the&bug
                            is&a&duplicate                    E       E                                            blocking
                                                                            more dependencies
                            has&discussion                    +       +
                            depends&on&other&bug              +       +     more discussion                       users leaving

       bug&fix
                            blocks&other&bug                  +       E    WFM after a long time                                                         37

More Related Content

Similar to A Qualitative Study on Performance Bugs (MSR 2012)

Msr2012 adams
Msr2012 adamsMsr2012 adams
Msr2012 adamsSAIL_QU
 
The Relationship Between Development Problems and Use of Software Engineering...
The Relationship Between Development Problems and Use of Software Engineering...The Relationship Between Development Problems and Use of Software Engineering...
The Relationship Between Development Problems and Use of Software Engineering...SoftwarePractice
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)Brian Rasmussen
 
Mark robinson what does lean mean for software testing
Mark robinson   what does lean mean for software testingMark robinson   what does lean mean for software testing
Mark robinson what does lean mean for software testingAGILEMinds
 
Chattanooga sme oee down time presentation
Chattanooga sme oee down time presentationChattanooga sme oee down time presentation
Chattanooga sme oee down time presentationJames Mansfield
 
Testaus 2013 Mark Fewster Reporting Software Quality
Testaus 2013 Mark Fewster Reporting Software QualityTestaus 2013 Mark Fewster Reporting Software Quality
Testaus 2013 Mark Fewster Reporting Software QualityTieturi Oy
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzQA or the Highway
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzQA or the Highway
 
TDD sharevison team
TDD sharevison teamTDD sharevison team
TDD sharevison teamKhou Suylong
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...ICSM 2011
 
Base your initial m&a to ppm, qpm, car
Base your initial m&a to ppm, qpm, carBase your initial m&a to ppm, qpm, car
Base your initial m&a to ppm, qpm, carKobi Vider
 
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Denim Group
 
Benefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldBenefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldDror Helper
 
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...Steve Lange
 
Symantec 2010 Windows 7 Migration Survey
Symantec 2010 Windows 7 Migration SurveySymantec 2010 Windows 7 Migration Survey
Symantec 2010 Windows 7 Migration SurveySymantec
 
The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...Prathan Dansakulcharoenkit
 
Symantec 2010 Disaster Recovery Study
Symantec 2010 Disaster Recovery StudySymantec 2010 Disaster Recovery Study
Symantec 2010 Disaster Recovery StudySymantec
 

Similar to A Qualitative Study on Performance Bugs (MSR 2012) (20)

Msr2012 adams
Msr2012 adamsMsr2012 adams
Msr2012 adams
 
The Relationship Between Development Problems and Use of Software Engineering...
The Relationship Between Development Problems and Use of Software Engineering...The Relationship Between Development Problems and Use of Software Engineering...
The Relationship Between Development Problems and Use of Software Engineering...
 
Defect prevention
Defect preventionDefect prevention
Defect prevention
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)
 
Mark robinson what does lean mean for software testing
Mark robinson   what does lean mean for software testingMark robinson   what does lean mean for software testing
Mark robinson what does lean mean for software testing
 
Chattanooga sme oee down time presentation
Chattanooga sme oee down time presentationChattanooga sme oee down time presentation
Chattanooga sme oee down time presentation
 
Testaus 2013 Mark Fewster Reporting Software Quality
Testaus 2013 Mark Fewster Reporting Software QualityTestaus 2013 Mark Fewster Reporting Software Quality
Testaus 2013 Mark Fewster Reporting Software Quality
 
C prime webinar-ppt-validating agile
C prime webinar-ppt-validating agileC prime webinar-ppt-validating agile
C prime webinar-ppt-validating agile
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig Stuntz
 
TDD sharevison team
TDD sharevison teamTDD sharevison team
TDD sharevison team
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
 
Base your initial m&a to ppm, qpm, car
Base your initial m&a to ppm, qpm, carBase your initial m&a to ppm, qpm, car
Base your initial m&a to ppm, qpm, car
 
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
Remediation Statistics: What Does Fixing Application Vulnerabilities Cost?
 
Benefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldBenefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real World
 
The State of Structure
The State of StructureThe State of Structure
The State of Structure
 
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
Session #3: "It Works on My Machine!" Closing the Loop Between Development & ...
 
Symantec 2010 Windows 7 Migration Survey
Symantec 2010 Windows 7 Migration SurveySymantec 2010 Windows 7 Migration Survey
Symantec 2010 Windows 7 Migration Survey
 
The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...The audacity of quality requirement-non functional testing- Aware in BugDay B...
The audacity of quality requirement-non functional testing- Aware in BugDay B...
 
Symantec 2010 Disaster Recovery Study
Symantec 2010 Disaster Recovery StudySymantec 2010 Disaster Recovery Study
Symantec 2010 Disaster Recovery Study
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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 Qualitative Study on Performance Bugs (MSR 2012)

  • 1. A Qualitative Study on Performance Bugs Shahed Zaman Bram%Adams Ahmed E. Hassan MCIS,&École&Polytechnique&de&Montréal SAIL, Queen’s University
  • 2. Bugs, Bugs, Bugs! Costly Affect% Reputa4on 2
  • 3. Bugs, Bugs, Bugs! 482%bugs/week 2
  • 5. Bugs, Bugs, Bugs! problem&in&efficiency/speed&at&which& Performance%Bug = a&system&performs&at&runDEme 4
  • 6. systemEkilling% performance%problems hHp://www.pcmag.com/arEcle2/0,2817,2325772,00.asp 5
  • 7. Security versus Performance Bugs: A Case Study on Shahed&Zaman,&Bram&Adams,&Ahmed&E.&Hassan SoUware&Analysis&and&Intelligence&Lab&(SAIL),&Queen’s&University 6
  • 8. MSR%2011%Quan4ta4ve%Study Time People Bug%Fix &&&&&Performance&bugs&take& Performance&bugs&are&fixed& Performance&bug&fixes& more%4me&to&fix by&more&experienced& are&more&complex developers 7
  • 9. Why? 8
  • 10. A Qualitative Study on Performance Bugs Shahed Zaman Bram%Adams Ahmed E. Hassan MCIS,&École&Polytechnique&de&Montréal SAIL, Queen’s University
  • 11. Study Setup Chrome ® 295,198%bugs 44,997%bugs 7,603%performance%bugs 510%performance%bugs 100%Bugs 100%Bugs + + 100%Bugs 100%Bugs = = 200%Bugs 200%Bugs Performance%Bugs NonEperformance%bugs
  • 12. bug%reports Our%heuris4cs%have: 100&±&10%%precision 83&±&10%%recall ‘slow’,%‘perf’,% ‘hang’ Our%heuris4cs%have: 90&±&10%%precision 97&±&10%%recall 11
  • 13. analyze 12
  • 16. update&taxonomy analyze think Iterative Process 14
  • 17. context&of&the&bug 4 Dimensions (20 subdimensions) bug&fix&validaEon impact&on&the&user bug&fix
  • 18. context&of&the&bug 4 Dimensions (20 subdimensions) bug&fix&validaEon impact&on&the&user bug&fix
  • 19. sta4s4cally% Findings significant% difference is&regression Performance NonDPerf. blocks&release WFM&after&a&long&Time People&Threaten&to&switch 0 5 10 15 20 25 %
  • 21. Findings is&regression Performance NonDPerf. blocks&release WFM&after&a&long&Time scares&users&away 0 5 10 15 20 25 %
  • 22. context&of&the&bug 4 Dimensions (20 subdimensions) bug&fix&validaEon impact&on&the&user bug&fix
  • 23. Performance Findings NonDPerf. has&measurements has&test&cases has&stack&traces Replication&Problems Reported&by&Member Duplicate&Bugs 0 10 20 30 40 50 60 %
  • 24. automa4c%performance% regression%tes4ng 21
  • 25. automa4c%performance% performance& regression%tes4ng regression& idenEfied& automaEcally 21
  • 26. solicits%comparison%to% other%browsers 22
  • 27. Performance Findings NonDPerf. has&measurements has&test&cases has&stack&traces has&replication&problems Reported&by&Member Duplicate&Bugs 0 10 20 30 40 50 60 %
  • 28. Replication Problems <more <empty> empty> incomplete&report plugins/addDons 24
  • 29. Hard to Track Bugs of External Applications 25
  • 30. Performance Findings NonDPerf. has&measurement&data has&test&cases has&stack&traces has&replication&problems is&reported&by&developer is&a&duplicate 0 10 20 30 40 50 60 %
  • 31. context&of&the&bug 4 Dimensions (20 subdimensions) bug&fix&validaEon impact&on&the&user bug&fix
  • 32. Findings Performance NonDPerf. has&discussion Depends&on&Other&Bugs Blocks&Other&Bugs 0 10 20 30 40 50 %
  • 33. Performance Bugs Require Collaboration understand&the&problem reach&consensus idenEfy&bug&fix me&too 29
  • 34. Findings Performance NonDPerf. has&discussion depends&on&other&bug blocks&other&bug 0 10 20 30 40 50 %
  • 35. Rebasing Performance adjust&baseline 31
  • 36. context&of&the&bug 4 Dimensions (20 subdimensions) bug&fix&validaEon impact&on&the&user bug&fix
  • 37. NO & diff er en pe ce rfo &b e rm tw an ee ce n &p &an atc d &n h &d on i sc Dp e us rfo si o rm ns an &an ce d &r &b u ev gs iew s&o f 33
  • 38. is&regression + + blocks&release + + WFM&aUer&a&long&Eme + + impact&on&the&user scares&users&away + + has&measurements + + has&test&cases + + contains&stacktrace + + has&replicaEon&problems + + context&of&the&bug is&reported&by&a&developer ? + is&a&duplicate E E has&discussion + + depends&on&other&bug + + bug&fix blocks&other&bug + E
  • 39. is&regression + + blocks&release + + WFM&aUer&a&long&Eme + + impact&on&the&user scares&users&away + + has&measurements + + has&test&cases + + contains&stacktrace + + has&replicaEon&problems + + context&of&the&bug is&reported&by&a&developer ? + is&a&duplicate E E has&discussion + + depends&on&other&bug + + bug&fix blocks&other&bug + E
  • 40. MSR%2011%Quan4ta4ve%Study%(reprise) Performance&bugs&are&fixed& &&&&&Performance&bugs&take& Performance&bug&fixes& by&more&experienced& more%4me&to&fix are&more&complex developers replication problems more release blocking more dependencies m ore discussion users leaving WFM after a long time 36
  • 41. Threats to Validity ‘slow’,%‘perf’,% ‘hang’ human&bias heurisEcs&for& only&4& only&2&subject performance&bug& dimensions systems idenEficaEon &&&20&subD dimensions 37
  • 42. Study Setup Chrome ® no traceability 295,198%bugs context&of&the&bug 44,997%bugs 7,603%performance%bugs 510%performance%bugs 4 Dimensions (20 subdimensions) bug&fix&validaEon impact&on&the&user 100%Bugs 100%Bugs + + 100%Bugs 100%Bugs = = 200%Bugs 200%Bugs Performance%Bugs NonEperformance%bugs bug&fix is&regression + + MSR%2011%Quan4ta4ve%Study%(reprise) blocks&release + + WFM&aUer&a&long&Eme + + Performance&bugs&are&fixed& &&&&&Performance&bugs&take& Performance&bug&fixes& impact&on&the&user by&more&experienced& scares&users&away + + more%4me&to&fix are&more&complex developers has&measurements + + has&test&cases + + contains&stacktrace no reproducability + + discussion! has&replicaEon&problems + + ? + replication problems more release is&reported&by&a&developer context&of&the&bug is&a&duplicate E E blocking more dependencies has&discussion + + depends&on&other&bug + + more discussion users leaving bug&fix blocks&other&bug + E WFM after a long time 37