Your SlideShare is downloading. ×
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Predicting bugs using antipatterns
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Predicting bugs using antipatterns

579

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
579
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ehsan Salamati Taba, Foutse Khomh, Ying Zou, Meiyappan Nagappan, Ahmed E. Hassan 1
  • 2. 2
  • 3. Predict Bugs Model 3 Past Defects, History of Churn (Zimmermann, Hassan et al.) Topic Modeling (Chen et al.)
  • 4. 4
  • 5.  not technically incorrect and don't prevent a system from functioning  weaknesses in design 5
  • 6. Indicate a deeper problem in the system 6
  • 7. Antipatterns indicate weaknesses in the design that may increase the risk for bugs in the future. (Fowler 1999) 7
  • 8. CVS Repository Mining Source Code Repositories Detecting Antipatterns Mining Bug RepositoriesBugzilla Calculating Metrics Analyzing RQ1 RQ2 RQ3 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. 12  13 different antipatterns  DECOR (Moha et al.) # of Antipatterns # Files Systems #Antipatterns Eclipse 273,766 ArgoUML 15,100
  • 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. Density of bugs in the files with antipatterns and the other files without antipatterns is the same. 15
  • 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. 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.  Average Number of Antipatterns (ANA)  Antipattern Cumulative Pairwise Differences (ACPD) 18  Antipattern Recurrence Length(ARL) Antipattern Complexity Metric (ACM)
  • 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. 20
  • 18. 21  Provide additional explanatory power over traditional metrics  ARL shows the biggest improvement
  • 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. 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. 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. F-measure 25  ARL can improve cross- system bug prediction on the two studied systems

×