Defect prediction using social network analysis on issue repositories Reporter: Dandan Wang Date: 04/18/2011 Basic information • Conference: ICSSP 2011 • Authors – Serdar Bicer • Gerger consulting, Istanbul, Turkey – Ayse Bsar Bener • Ryerson university, Ted Rogers School of information Technology Management, Toronto, Canada – Bora Caglayan • Bogazici university Department Engineering, Istanbul, Turkey of Computer Outline 1 • Introduction 2 • Methodology 3 • Results 4 • Conclusion Introduction • Objective – Overcome ceiling effects of defect predictors. • Research question – What is the benefit of social network metrics on issue repositories to predict defects? • Metrics – Social network metrics – Churn metrics • Method – Naive Bayes (Learning based prediction model) Outline 1 • Introduction 2 • Methodology 3 • Results 4 • Conclusion Methodology • • • • • Dataset Communication structure in projects Metrics used Defect prediction model Performance measures Dataset • • RTC – Year: 2007 and 2008. – Team: Large distributed team and used the Jazz platform – Version control system, issue repository Drupal – Year: 2009-2010 – Team : Large distributed team – Public CVS repository, issue repository(bug reports, feature requests, and other tasks) Data extraction process for datasets • • Nodes in graphs represents developers who commented on each file. Files were labeled as defective if they were modified after snapshot date. Communication structure in projects • RTC and Drupal projects are similar to each other in communication structure. • Commenting on issues is the main task-related communication used by contributors in both projects. If a commit in version control system is related with an issue, issue number is written to commit message. • Jazz framework automatically creates a connection from issue to change set, which is not available in Drupal. • The issues are assigned to and owned by contributors. • Other project members express their opinions by commenting on issues. Metrics used • While first 6 metrics were used in previous studies [22, 33, 44, 42], • Diameter, Clustering Coefficient, Bridge Rate, and Characteristic Path Length are new metrics Defect prediction model • Metrics – Social network metrics on issue repositories • Algorithm – Naive Bayes data mining algorithm • Validation – 10*10-fold cross validation to eliminate sampling bias – Cost-benefit analysis (Weka software) Performance measures • Widely used performance measures – Probability of detection(pd) – Probability of false alarms(pf) Higher balances are better because their points (pd, pf) are closer to the ideal point (1, 0) Cost-benefit analysis Cost curve • Cost curve is proposed by Drummond and Holte to supply the deficiencies of ROC curves. It is a visualization technique that shows classifier’s performance based on the cost of misclassification. – X: PC(+). Probability of positive class, combination of the two misclassification costs and the class distribution into a single value. – Y: NEC. Normalized expected cost which denotes error rate. Outline 1 • Objective 2 • Methodology 3 • Results 4 • Conclusion Results • Prediction performance analysis • T-test analysis: statistically significantly • Cost-benefit analysis Cost curves for datasets Beneficial outcomes • • • Our proposed model either considerably decreases high false alarm rates without compromising the detection rates or considerably increases low prediction rates without compromising low false alarm rates compared to churn metrics. In both cases this results in increase of overall prediction performance. Consequently, this leads to decrease in verification costs compared to churn metrics. Thus we recommend practitioners to collect social network metrics on issue repositories. We can interpret this result as structure of information flow in a developer communication network has significant effect on code quality. Since our metrics are directly related with network’s topology, this model can help managers to build developer networks more efficiently. We used only a recent part of developer communication history to construct our model. Communication between project members begins at the start and continues until the end of the project. But in this study, we did not collect full communication history. This is important for software teams which have begun to keep record of developer communication after the beginning of the project because our proposed model can also be used for these kind of projects. Outline 1 • Objective 2 • Methodology 3 • Results 4 • Conclusion Conclusion • Reason: communication and coordination between developers is important but patterns of interaction between developers have not been investigated for defect prediction. • Main contribution of this study is using new data source and metrics in the area of defect prediction. • Performance analysis – Churn metrics, social network metrics – Pd,pf, balance • Cost-benefit analysis. – Social network metrics on issue repositories reduced costs required for verification of prediction results and made results closer to cost-adverse region of ROC curve. Thank you! Q&A