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

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
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 

Recently uploaded (20)

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...
 
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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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...
 

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