Predicting bugs using antipatterns

828 views
665 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
828
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Predicting bugs using antipatterns

  1. 1. Ehsan Salamati Taba, Foutse Khomh, Ying Zou, Meiyappan Nagappan, Ahmed E. Hassan 1
  2. 2. 2
  3. 3. Predict Bugs Model 3 Past Defects, History of Churn (Zimmermann, Hassan et al.) Topic Modeling (Chen et al.)
  4. 4. 4
  5. 5.  not technically incorrect and don't prevent a system from functioning  weaknesses in design 5
  6. 6. Indicate a deeper problem in the system 6
  7. 7. Antipatterns indicate weaknesses in the design that may increase the risk for bugs in the future. (Fowler 1999) 7
  8. 8. CVS Repository Mining Source Code Repositories Detecting Antipatterns Mining Bug RepositoriesBugzilla Calculating Metrics Analyzing RQ1 RQ2 RQ3 9
  9. 9. 10 Systems Release(#) Churn LOCs Eclipse 2.0 - 3.3.1(12) 148,454 26,209,669 ArgoUML 0.12 - 0.26.2(9) 21,427 2,025,730 Studied SystemsStudied Systems
  10. 10. 12  13 different antipatterns  DECOR (Moha et al.) # of Antipatterns # Files Systems #Antipatterns Eclipse 273,766 ArgoUML 15,100
  11. 11. RQ1: Do antipatterns affect the density of bugs in files? RQ2: Do the proposed antipattern based metrics provide additional explanatory power over traditional metrics? RQ3: Can we improve traditional bug prediction models with antipatterns information? 14
  12. 12. Density of bugs in the files with antipatterns and the other files without antipatterns is the same. 15
  13. 13. 16 Systems Releases(#) DA – DNA> 0 p-value<0.05 Eclipse 12 8 8 ArgoUML 9 6 6 Files with Antipatterns Density of Bugs Files without Antipatterns Density of Bugs
  14. 14. RQ1: Do antipatterns affect the density of bugs in files? RQ2: Do the proposed antipattern based metrics provide additional explanatory power over traditional metrics? RQ3: Can we improve traditional bug prediction models with antipatterns information? 17
  15. 15.  Average Number of Antipatterns (ANA)  Antipattern Cumulative Pairwise Differences (ACPD) 18  Antipattern Recurrence Length(ARL) Antipattern Complexity Metric (ACM)
  16. 16. 19 1.0 2.0 3.0 4.0 5.0 6.0 a.java b.java c.java 3 4 0 2 1 3 4 5 1 0 0 3 0 6 5 4 5 4 ANA(a.java) =2.16, ARL(a.java) = 18.76, ACPD(a.java) = 0
  17. 17. 20
  18. 18. 21  Provide additional explanatory power over traditional metrics  ARL shows the biggest improvement
  19. 19. RQ1: Do antipatterns affect the density of bugs in files? RQ2: Do the proposed antipattern based metrics provide additional explanatory power over traditional metrics? RQ3: Can we improve traditional bug prediction models with antipatterns information? 22
  20. 20. Step-wise analysis 1) Removing Independent Variables 2) Collinearity Analysis 23 Metric name Description LOC Source lines of codes MLOC Executable lines of codes PAR Number of parameters NOF Number of attributes NOM Number of methods NOC Number of children VG Cyclomatic complexity DIT Depth of inheritance tree LCOM Lack of cohesion of methods NOT Number of classes WMC Number of weighted methods per class PRE Number of pre-released bugs Churn Number of lines of code added modified or deleted
  21. 21. 0 2 4 6 8 Churn PRE LOC MLOC NOT NOF NOM ACM ACPD ARL ArgoUML 24 0 2 4 6 8 10 12 Churn PRE LOC MLOC NOT NOF NOM ACM ACPD ARL Eclipse  ARL remained statistically significant and had a low collinearity with other metrics #Versions#Versions
  22. 22. F-measure 25  ARL can improve cross- system bug prediction on the two studied systems

×