studying the impact of dependency network measures on software quality

38
Thanh H. D. Nguyen , Bram Adams, Ahmed E. Hassan SAIL, School of Compu?ng, Queen’s University, Kingston, Canada Studying the impact of dependency network measures on soIware quality

Upload: icsm-2010

Post on 18-Nov-2014

446 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Studying the impact of dependency network measures on software quality

Thanh  H.  D.  Nguyen,  Bram  Adams,  Ahmed  E.  Hassan  SAIL,  School  of  Compu?ng,  Queen’s  University,  Kingston,  Canada  

Studying  the  impact  of  dependency  network  measures    on  soIware  quality  

Page 2: Studying the impact of dependency network measures on software quality

 Problem:   Quality  improvement  resources  are  limited  

 Solu?on:    Bug  predic5on  iden5fies  defect-­‐prone  modules  

2  

Code  Quality  

Page 3: Studying the impact of dependency network measures on software quality

3  

Bug  predic?on  models  

Bug  Predic5on  Model  

High  Recall  -­‐>  We  won’t  miss  a  possible  bug  High  Precision  -­‐>  We  won’t  waste  effort  

Page 4: Studying the impact of dependency network measures on software quality

4  

A  

F  B  

C  

G  E  

D  

SoIware  is  more  than  just    size  and  complexity  

Node"

Local Neighborhood"

Global Neighborhood"

Page 5: Studying the impact of dependency network measures on software quality

5  

SoIware  is  more  than  just    size  and  complexity  

Social Network Measures!

(SNA)"

Traditional Metrics (MET)"Node"

Local Neighborhood"

Global Neighborhood"

Page 6: Studying the impact of dependency network measures on software quality

6  

Bug  Predic5on  Model  

Would  SNA  improve  performance?  

Page 7: Studying the impact of dependency network measures on software quality

7  

Would  SNA  improve  performance?  

Page 8: Studying the impact of dependency network measures on software quality

8  

Would  SNA  improve  performance?  

Page 9: Studying the impact of dependency network measures on software quality

9  

Would  SNA  improve  performance?  

Page 10: Studying the impact of dependency network measures on software quality

10  

Would  SNA  improve  performance?  

Page 11: Studying the impact of dependency network measures on software quality

11  

Why  Eclipse?  

Page 12: Studying the impact of dependency network measures on software quality

12  

Bug  Predic5on  Model  

Would  SNA  improve  performance?  

Page 13: Studying the impact of dependency network measures on software quality

13  

Bug  Predic5on  Model  

Would  SNA  improve  performance?  

Page 14: Studying the impact of dependency network measures on software quality

14  

+25%  for  Recall  and  Precision  

Page 15: Studying the impact of dependency network measures on software quality

15  

Does  this  generalize?    

Page 16: Studying the impact of dependency network measures on software quality

16  

12  Metrics  

11  Metrics  

12  Metrics  

Node"

Local Neighborhood"

Global Neighborhood"

Which  metrics  provide  the  improvement?  

Use  hierarchical  modeling  to  find  important  group  [Caltado  et  al.  TSE10]  

Page 17: Studying the impact of dependency network measures on software quality

17  

12  Metrics  

11  Metrics  

12  Metrics  

Node"

Local Neighborhood"

Global Neighborhood"

7%  

+2.7%  

+0.3%  

Which  metrics  provide  the  improvement?  

Page 18: Studying the impact of dependency network measures on software quality

18  

12  Metrics  

11  Metrics  

12  Metrics  

Node"

Local Neighborhood"

Global Neighborhood"

7%  

+2.7%  

+0.3%  

Local  neighbours  have  most  of  the  important  improvement  

Which  metrics  provide  the  improvement?  

Page 19: Studying the impact of dependency network measures on software quality

19  

Which  local  measures  have  the  most  impact?  

Page 20: Studying the impact of dependency network measures on software quality

20  

Cluster  fan-­‐in  

Page 21: Studying the impact of dependency network measures on software quality

21  

Cluster  fan-­‐in  

Page 22: Studying the impact of dependency network measures on software quality

22  

Layer  bypass  

Page 23: Studying the impact of dependency network measures on software quality

23  

Layer  bypass  

Page 24: Studying the impact of dependency network measures on software quality

24  

Layer  bypass  

Page 25: Studying the impact of dependency network measures on software quality

25  

Consider  your  neighbor  connec?ons  

Page 26: Studying the impact of dependency network measures on software quality

26  

How  well  do  we  perform  in  prac?ce?  

✔ ✗

Page 27: Studying the impact of dependency network measures on software quality

27  

Effort  Aware  Predic?on  Models  

Page 28: Studying the impact of dependency network measures on software quality

28  

Comparing  Performance  Using  Effort  Aware  Curves  

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

htFile   A   B   C  

#bug   0   1   2  

LOC   48   8   44  

ROI   0   0.125   0.045  

Risk   0.78   0.56   0.34  

Page 29: Studying the impact of dependency network measures on software quality

29  

Comparing  Performance  Using  Effort  Aware  Curves  

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

ht

A  

File   A   B   C  

#bug   0   1   2  

LOC   48   8   44  

ROI   0   0.125   0.045  

Risk   0.78   0.56   0.34  

Page 30: Studying the impact of dependency network measures on software quality

30  

Comparing  Performance  Using  Effort  Aware  Curves  

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

htB  

File   A   B   C  

#bug   0   1   2  

LOC   48   8   44  

ROI   0   0.125   0.045  

Risk   0.78   0.56   0.34  

Page 31: Studying the impact of dependency network measures on software quality

31  

Comparing  Performance  Using  Effort  Aware  Curves  

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

ht

C  

File   A   B   C  

#bug   0   1   2  

LOC   48   8   44  

ROI   0   0.125   0.045  

Risk   0.78   0.56   0.34  

Page 32: Studying the impact of dependency network measures on software quality

32  

Is  this  a  good  predic?on?  

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

htFile   A   B   C  

#bug   0   1   2  

LOC   48   8   44  

ROI   0   0.125   0.045  

Risk   0.78   0.56   0.34  

Page 33: Studying the impact of dependency network measures on software quality

33  

Beeer  predic?on  means  a  higher  curve  

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

htFile   A   B   C  

#bug   0   1   2  

LOC   48   8   44  

ROI   0   0.125   0.045  

Bad   0.78   0.56   0.34  

Good   0.32   0.72   0.55  

Good  

Bad  

Page 34: Studying the impact of dependency network measures on software quality

34  

The  predic?on  model  helps    reduce  tes?ng  effort    

0 20 40 60 80 100

020

4060

8010

0

% lines of code reviewed

% b

ugs

caug

ht

File  Package  

Random  File  

Page 35: Studying the impact of dependency network measures on software quality

35  

Page 36: Studying the impact of dependency network measures on software quality

36  Thanh  H.  D.  Nguyen  ([email protected])  

Class  pred.  has  more  poten?al  

Page 37: Studying the impact of dependency network measures on software quality

37  Thanh  H.  D.  Nguyen  ([email protected])  

Deviance  explained  

Bugginess  ~  Traditional  metrics  +  Local  +  Global  

+2.7%"

+1.1%"

+0.3%"

+1,9%"

Page 38: Studying the impact of dependency network measures on software quality

38  

Anova  on  M3