Studying	
  the	
  impact	
  of	
  dependency	
  network	
  measures	
  	
  
                      on	
  soIware	
  qualit...
Code	
  Quality	
  
  Problem:	
  
     Quality	
  improvement	
  resources	
  are	
  limited	
  
  Solu?on:	
  
     ...
Bug	
  predic?on	
  models	
  

                               Bug	
  
                            Predic5on	
  
         ...
SoIware	
  is	
  more	
  than	
  just	
  	
  
           size	
  and	
  complexity	
  

Node"                        A	
  ...
SoIware	
  is	
  more	
  than	
  just	
  	
  
           size	
  and	
  complexity	
  
                      Traditional M...
Bug	
  
                Predic5on	
  
                  Model	
  




Would	
  SNA	
  improve	
  performance?	
     6	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              7	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              8	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              9	
  
Would	
  SNA	
  improve	
  performance?	
  




                                              10	
  
Why	
  Eclipse?	
  




                      11	
  
Bug	
  
                Predic5on	
  
                  Model	
  




Would	
  SNA	
  improve	
  performance?	
     12	
  
Bug	
  
                Predic5on	
  
                  Model	
  




Would	
  SNA	
  improve	
  performance?	
     13	
  
+25%	
  for	
  Recall	
  and	
  Precision	
  




                                                14	
  
Does	
  this	
  generalize?	
  	
  




                                      15	
  
Which	
  metrics	
  provide	
  the	
  
              improvement?	
  
Node"                      12	
  Metrics	
  


Local...
Which	
  metrics	
  provide	
  the	
  
             improvement?	
  
Node"                   12	
  Metrics	
          7%	
...
Which	
  metrics	
  provide	
  the	
  
             improvement?	
  
Node"                    12	
  Metrics	
           7%...
Which	
  local	
  measures	
  have	
  the	
  most	
  impact?	
  




                                                     ...
Cluster	
  fan-­‐in	
  




                          20	
  
Cluster	
  fan-­‐in	
  




                          21	
  
Layer	
  bypass	
  




                      22	
  
Layer	
  bypass	
  




                      23	
  
Layer	
  bypass	
  




                      24	
  
Consider	
  your	
  neighbor	
  connec?ons	
  




                                                 25	
  
How	
  well	
  do	
  we	
  perform	
  in	
  prac?ce?	
  

                               ✔               ✗



            ...
Effort	
  Aware	
  Predic?on	
  Models	
  




                                            27	
  
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                ...
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                ...
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                ...
Comparing	
  Performance	
  Using	
  Effort	
  
                   Aware	
  Curves	
  




                                ...
Is	
  this	
  a	
  good	
  predic?on?	
  




                                                             100
           ...
Beeer	
  predic?on	
  means	
  a	
  higher	
  curve	
  




                                                             1...
The	
  predic?on	
  model	
  helps	
  	
  
                         reduce	
  tes?ng	
  effort	
  	
  
                100
...
35	
  
Class	
  pred.	
  has	
  more	
  poten?al	
  




                                                36	
  
            Thanh...
Deviance	
  explained	
  

                    +2.7%"




                                             +0.3%"
            ...
Anova	
  on	
  M3	
  




                        38	
  
Upcoming SlideShare
Loading in …5
×

Studying the impact of dependency network measures on software quality

545 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
545
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Studying the impact of dependency network measures on software quality

  1. 1. Studying  the  impact  of  dependency  network  measures     on  soIware  quality   Thanh  H.  D.  Nguyen,  Bram  Adams,  Ahmed  E.  Hassan   SAIL,  School  of  Compu?ng,  Queen’s  University,  Kingston,  Canada  
  2. 2. Code  Quality     Problem:     Quality  improvement  resources  are  limited     Solu?on:     Bug  predic5on  iden5fies  defect-­‐prone  modules   2  
  3. 3. Bug  predic?on  models   Bug   Predic5on   Model   High  Recall  -­‐>  We  won’t  miss  a  possible  bug   High  Precision  -­‐>  We  won’t  waste  effort   3  
  4. 4. SoIware  is  more  than  just     size  and  complexity   Node" A   D   C   Local Neighborhood" B   F   Global Neighborhood" E   G   4  
  5. 5. SoIware  is  more  than  just     size  and  complexity   Traditional Metrics Node" (MET)" Local Neighborhood" Social Network Measures! Global (SNA)" Neighborhood" 5  
  6. 6. Bug   Predic5on   Model   Would  SNA  improve  performance?   6  
  7. 7. Would  SNA  improve  performance?   7  
  8. 8. Would  SNA  improve  performance?   8  
  9. 9. Would  SNA  improve  performance?   9  
  10. 10. Would  SNA  improve  performance?   10  
  11. 11. Why  Eclipse?   11  
  12. 12. Bug   Predic5on   Model   Would  SNA  improve  performance?   12  
  13. 13. Bug   Predic5on   Model   Would  SNA  improve  performance?   13  
  14. 14. +25%  for  Recall  and  Precision   14  
  15. 15. Does  this  generalize?     15  
  16. 16. Which  metrics  provide  the   improvement?   Node" 12  Metrics   Local 11  Metrics   Neighborhood" Global Neighborhood" 12  Metrics   Use  hierarchical  modeling  to  find   important  group  [Caltado  et  al.  TSE10]   16  
  17. 17. Which  metrics  provide  the   improvement?   Node" 12  Metrics   7%   Local 11  Metrics   +2.7%   Neighborhood" Global Neighborhood" 12  Metrics   +0.3%   17  
  18. 18. Which  metrics  provide  the   improvement?   Node" 12  Metrics   7%   Local 11  Metrics   +2.7%   Neighborhood" Global Neighborhood" 12  Metrics   +0.3%   Local  neighbours  have  most  of  the   important  improvement   18  
  19. 19. Which  local  measures  have  the  most  impact?   19  
  20. 20. Cluster  fan-­‐in   20  
  21. 21. Cluster  fan-­‐in   21  
  22. 22. Layer  bypass   22  
  23. 23. Layer  bypass   23  
  24. 24. Layer  bypass   24  
  25. 25. Consider  your  neighbor  connec?ons   25  
  26. 26. How  well  do  we  perform  in  prac?ce?   ✔ ✗ 26  
  27. 27. Effort  Aware  Predic?on  Models   27  
  28. 28. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 28  
  29. 29. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 A   ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 29  
  30. 30. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   20 B   Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 30  
  31. 31. Comparing  Performance  Using  Effort   Aware  Curves   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 C   ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 31  
  32. 32. Is  this  a  good  predic?on?   100 80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   20 Risk   0.78   0.56   0.34   0 0 20 40 60 80 100 % lines of code reviewed 32  
  33. 33. Beeer  predic?on  means  a  higher  curve   100 Good   80 File   A   B   C   % bugs caught #bug   0   1   2   60 LOC   48   8   44   40 ROI   0   0.125   0.045   Bad   20 Bad   0.78   0.56   0.34   Good   0.32   0.72   0.55   0 0 20 40 60 80 100 % lines of code reviewed 33  
  34. 34. The  predic?on  model  helps     reduce  tes?ng  effort     100 Random   File   80 % bugs caught 60 File   40 Package   20 0 0 20 40 60 80 100 % lines of code reviewed 34  
  35. 35. 35  
  36. 36. Class  pred.  has  more  poten?al   36   Thanh  H.  D.  Nguyen   (thanhnguyen@cs.queensu.ca)  
  37. 37. Deviance  explained   +2.7%" +0.3%" +1,9%" +1.1%" Bugginess  ~  Traditional  metrics  +  Local  +  Global   37   Thanh  H.  D.  Nguyen   (thanhnguyen@cs.queensu.ca)  
  38. 38. Anova  on  M3   38  

×