msr2012 adams

42
Shahed Zaman Ahmed E. Hassan SAIL, Queen’s University A Qualitative Study on Performance Bugs Bram Adams MCIS, École Polytechnique de Montréal

Upload: sailqu

Post on 12-Apr-2017

87 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Msr2012 adams

Shahed Zaman Ahmed E. HassanSAIL, Queen’s University

A Qualitative Study onPerformance Bugs

Bram%AdamsMCIS,&École&Polytechnique&de&Montréal

Page 2: Msr2012 adams

Bugs, Bugs, Bugs!

2

Costly Affect%

Reputa4on

Page 3: Msr2012 adams

Bugs, Bugs, Bugs!

2

482%bugs/week

Page 4: Msr2012 adams

Most%research%treats%all%bugs%equally!%

Does%this%make%sense?

Page 5: Msr2012 adams

Bugs, Bugs, Bugs!

4

Performance%Bugproblem&in&efficiency/speed&at&which&a&system&performs&at&runDEme=

Page 6: Msr2012 adams

5hHp://www.pcmag.com/arEcle2/0,2817,2325772,00.asp

systemEkilling%

performance%problems

Page 7: Msr2012 adams

Security versus Performance Bugs:

A Case Study on

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

6

Page 8: Msr2012 adams

MSR%2011%Quan4ta4ve%Study

Performance&bugs&are&fixed&by&more&experienced&

developers

People

Performance&bug&fixes&are&more&complex

Bug%FixTime

&&&&&Performance&bugs&take&more%4me&to&fix

7

Page 9: Msr2012 adams

Why?

8

Page 10: Msr2012 adams

Shahed Zaman Ahmed E. HassanSAIL, Queen’s University

A Qualitative Study onPerformance Bugs

Bram%AdamsMCIS,&École&Polytechnique&de&Montréal

Page 11: Msr2012 adams

Chrome®

44,997%bugs

510%performance%bugs

295,198%bugs

7,603%performance%bugs

Performance%Bugs NonEperformance%bugs

100%Bugs

100%Bugs

=

200%Bugs

+

100%Bugs

100%Bugs

=

200%Bugs

+

Study Setup

Page 12: Msr2012 adams

11

bug%reports

‘slow’,%‘perf’,%

‘hang’

Our%heuris4cs%have:

100&±&10%%precision83&±&10%%recall

Our%heuris4cs%have:

90&±&10%%precision97&±&10%%recall

Page 13: Msr2012 adams

12

analyze

Page 14: Msr2012 adams

13

comments

bug%report

+%a]achments

Page 15: Msr2012 adams

14

update&taxonomyanalyze

think

Page 16: Msr2012 adams

14

IterativeProcess

update&taxonomyanalyze

think

Page 17: Msr2012 adams

4 Dimensions(20 subdimensions)

impact&on&the&user

context&of&the&bug

bug&fix

bug&fix&validaEon

Page 18: Msr2012 adams

4 Dimensions(20 subdimensions)

impact&on&the&user

context&of&the&bug

bug&fix

bug&fix&validaEon

Page 19: Msr2012 adams

Findings

is&regression

blocks&release

WFM&after&a&long&Time

People&Threaten&to&switch

0 5 10 15 20 25

PerformanceNonDPerf.

%

sta4s4cally%

significant%

difference

Page 20: Msr2012 adams

No Traceability

17

WorksForMe

Page 21: Msr2012 adams

Findings

is&regression

blocks&release

WFM&after&a&long&Time

scares&users&away

0 5 10 15 20 25

PerformanceNonDPerf.

%

Page 22: Msr2012 adams

4 Dimensions(20 subdimensions)

impact&on&the&user

context&of&the&bug

bug&fix

bug&fix&validaEon

Page 23: Msr2012 adams

Findingshas&measurements

has&test&cases

has&stack&traces

Replication&Problems

Reported&by&Member

Duplicate&Bugs

0 10 20 30 40 50 60

PerformanceNonDPerf.

%

Page 24: Msr2012 adams

21

automa4c%performance%

regression%tes4ng

Page 25: Msr2012 adams

21

automa4c%performance%

regression%tes4ngperformance&

regression&idenEfied&automaEcally

Page 26: Msr2012 adams

solicits%comparison%to%

other%browsers

22

Page 27: Msr2012 adams

Findingshas&measurements

has&test&cases

has&stack&traces

has&replication&problems

Reported&by&Member

Duplicate&Bugs

0 10 20 30 40 50 60

PerformanceNonDPerf.

%

Page 28: Msr2012 adams

Replication Problems

24

incomplete&report

<empty><moreempty>

plugins/addDons

Page 29: Msr2012 adams

Hard to Track Bugs ofExternal Applications

25

Page 30: Msr2012 adams

Findingshas&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

PerformanceNonDPerf.

%

Page 31: Msr2012 adams

4 Dimensions(20 subdimensions)

impact&on&the&user

context&of&the&bug

bug&fix

bug&fix&validaEon

Page 32: Msr2012 adams

Findings

has&discussion

Depends&on&Other&Bugs

Blocks&Other&Bugs

0 10 20 30 40 50

PerformanceNonDPerf.

%

Page 33: Msr2012 adams

Performance Bugs Require Collaboration

29

understand&the&problem

idenEfy&bug&fix

reach&consensus

me&too

Page 34: Msr2012 adams

Findings

has&discussion

depends&on&other&bug

blocks&other&bug

0 10 20 30 40 50

PerformanceNonDPerf.

%

Page 35: Msr2012 adams

Rebasing Performance

31

adjust&baseline

Page 36: Msr2012 adams

4 Dimensions(20 subdimensions)

impact&on&the&user

context&of&the&bug

bug&fix

bug&fix&validaEon

Page 37: Msr2012 adams

33

NO&difference&between&patch&discussions&and&reviews&of

performance&and&nonDperformance&bugs

Page 38: Msr2012 adams

is&regression + +blocks&release + +WFM&aUer&a&long&Eme + +scares&users&away + +

has&measurements + +has&test&cases + +contains&stacktrace + +has&replicaEon&problems + +is&reported&by&a&developer ? +is&a&duplicate E E

has&discussion + +depends&on&other&bug + +blocks&other&bug + E

impact&on&the&user

context&of&the&bug

bug&fix

Page 39: Msr2012 adams

is&regression + +blocks&release + +WFM&aUer&a&long&Eme + +scares&users&away + +

has&measurements + +has&test&cases + +contains&stacktrace + +has&replicaEon&problems + +is&reported&by&a&developer ? +is&a&duplicate E E

has&discussion + +depends&on&other&bug + +blocks&other&bug + E

impact&on&the&user

context&of&the&bug

bug&fix

Page 40: Msr2012 adams

MSR%2011%Quan4ta4ve%Study%(reprise)

Performance&bugs&are&fixed&by&more&experienced&

developers

Performance&bug&fixes&are&more&complex

&&&&&Performance&bugs&take&more%4me&to&fix

36

replication problems

more dependencies

more discussion

WFM after a long time

more release blocking

users leaving

Page 41: Msr2012 adams

Threats to Validity

37

human&bias

only&4&dimensions&&&20&subDdimensions

only&2&subjectsystems

‘slow’,%‘perf’,%

‘hang’

heurisEcs&for&performance&bug&idenEficaEon

Page 42: Msr2012 adams

Chrome®

44,997%bugs510%performance%bugs

295,198%bugs7,603%performance%bugs

Performance%Bugs NonEperformance%bugs

100%Bugs

100%Bugs=

200%Bugs

+100%Bugs

100%Bugs=

200%Bugs

+

Study Setup

no traceability

no reproducabilitydiscussion!

4 Dimensions(20 subdimensions)

impact&on&the&user

context&of&the&bug

bug&fix

bug&fix&validaEon

is&regression + +blocks&release + +WFM&aUer&a&long&Eme + +scares&users&away + +has&measurements + +has&test&cases + +contains&stacktrace + +has&replicaEon&problems + +is&reported&by&a&developer ? +is&a&duplicate E Ehas&discussion + +depends&on&other&bug + +blocks&other&bug + E

impact&on&the&user

context&of&the&bug

bug&fix

MSR%2011%Quan4ta4ve%Study%(reprise)Performance&bugs&are&fixed&

by&more&experienced&developers

Performance&bug&fixes&are&more&complex

&&&&&Performance&bugs&take&more%4me&to&fix

37

replication problems

more dependencies

more discussion

WFM after a long time

more release blocking

users leaving