categorizing bugs with social networks

Click here to load reader

Post on 24-Jun-2015




2 download

Embed Size (px)


This is a course participation during the Spring 2013 at the ECE654. Marcelo Serrano Zanetti, Ingo Scholtes, Claudio Juan Tessone, Frank Schweitzer: Categorizing bugs with social networks: a case study on four open source software communities. ICSE 2013: 1032-1041


  • 1. Categorizing Bugs with Social Networks: a case study of four open source software communities Presented by A. Ibrahim ECE 654 Spring 2013

2. Bug Reports Categorization (Problem) Open source systems such as Firefox receive incredibly large number of bug reports every month through there bug tracking system. Mozilla Firefox Community has processed 64,000 bug reports (until current release) 50,000 (~ 79 %) of those were faulty An automatic categorization will be appreciated Automated prioritization of valid reports Can decrease response and fix time Can increase productivity Source: Mozilla Quest Magazine ( 3. Classification of Bugs with Social Network Analysis (solution) Social organization of bug reporters provides a novel dimension for categorizing bug report. In particular, using topological measures to qualify the position of bug reporters in a collaborative development network can predict the status of bug report (valid or faulty). Social Organization of Bug Reporters [Zanetti et al. 2013] 4. Valid Faulty Classification of Bugs with Social Network Analysis (cont.) time t+30t The position of a bug reporter in the monthly collaboration network is indicative for the eventual outcome of the bug handling process Bug reports Predictive Model Bugzilla is general purpose bug tracker and testing tool originally developed and used by the Mozilla project Time Frame (30 days) 5. Network Construction When a new user join a community of OSS, he can add his name to CC of Assign list. CC is a list of users that subscribing into the community to receive information about future updates on bug reports. Assign is a list of users assigning the task of handling a bug to another user. Social Organization of Bug Reporters [Zanetti et al. 2013] For the construction of social networks, the authors focus on capturing the pairwise interactions between two types of users (community manages and developers) in the communities of the selected open source systems. 6. Methodology Verification time tt-30 Time Frame (30 days) t+30 Eigenvector Centrality :1 < :2 > (Valid Report) (Faulty Report) H3: The position of a bug reporter in the monthly collaboration network preceding the time of the report is indicative for the eventual outcome of the bug handling process. Bug Report Submission 7. Building a Predictive Model (Classifier) 8. Simple Classifiers LCC (the networks largest connected components) is the size of the largest group of nodes in a network that are all reachable from each other. 9. Support Vector Machine Topological measures used for the prediction of bug reports quality: centrality eigenvector closeness Betweenness k-coreness Degree Total, In-degree, out- degree Clustering coefficient 10. Data retrieval (4 open source programs) Authors used a data set of more than 700,000 bug reports obtained from Bugzilla installations of four OSS (Firefox, Thunderbird, Eclipse and NetBeans) communities for a period of 10 years (Jan 1999 to Jun 2012). This data set contains the full history of change events (5.8 million). 112,968 35,388 356,415 210,921 64,088 21,644 158,957 42,851 FIREFOX THUNDERBIRD ECLIPSE NETBEANS #ofBugReports Open Software Systems Selected for Study Total bug reports Resolved bugs 11. Results Social networks can be used to automatically categorize bug reports. Precision and recall higher than for competing methods (except?). 44.1 62.1 76.3 71.9 60.4 68.6 76.3 76.7 82.5 90.3 88.7 78.9 FIREFOX THUNDERBIRD ECLIPSE NETBEANS PRECISION LCC EVCENT SVM 50.9 44.5 62.6 62.4 30.5 5.4 62.6 38.8 44.5 38.9 91 87 FIREFOX THUNDERBIRD ECLIPSE NETBEANS RECALL LCC EVCENT SVM 12. Questions?