Not logged in.
Quick Search - Contribution
Contribution Details
Type | Master's Thesis |
Scope | Discipline-based scholarship |
Title | Collaborative defect prediction: applying collaborative filtering to cross-project defect prediction |
Organization Unit | |
Authors |
|
Supervisors |
|
Institution | University of Zurich |
Faculty | Faculty of Economics, Business Administration and Information Technology |
Number of Pages | 44 |
Date | 2011 |
Abstract Text | Reliable defect predictions enable a better management of the software developerís effort during the process of software engineering. The identified bug-prone parts can be reengineered or tested with special care. However, defect prediction works only if enough data is available to learn the prediction models. If the data is not sufficient, prediction models of other projects can be applied. Traditional cross-project defect predictions achieve superficial results. That is why we propose a completely new approach. Based on the collaborative filtering framework RECOMIZER, we predict post-release defects of 19 Eclipse plug-ins. Therefore we measure the similarities between the prediction models derived from the different projects. Combining the defect models with the highest similarity to the model of the project under investigation, we perform cross-project defect prediction based on collaborative filtering. We are able to confirm our main hypothesis, that the performance of the defect predictions based on collaborative filtering outperforms the predictions we did while considering the model of the project under investigation only. We achieve a promising mean AUC of 0.745 using a Naive Bayes classifier. In the case of a J48 decision tree, we achieve a mean AUC of 0.734. We also analyze the similarities of the different defect models. The projects organized after their model similarity, rather build a clew than the expected clusters. |
Zusammenfassung | Fehlervorhersagen für Software Projekte erlauben eine frühzeitige Konzentration des Entwicklungsaufwands auf potenziell fehlerhafte Teile. Jedoch können zuverlässige Fehlervorhersagen nur erstellt werden, wenn genügend Daten für das Lernen eines Prognosemodels vorliegen. Sind die vorhandenen Daten unzureichend, können die Prognosen alternativ mit Hilfe eines fremden Vorhersagemodels erstellt werden. Solche projektübergreifende Fehlervoraussagen habe bisher aber keine vielversprechende Resultate erzielt. Darum schlagen wir in dieser Arbeit einen neuen Ansatz zur projektübergreifenden Fehlervoraussage basierend auf dem kollaborativen Filter Framework RECOMIZER vor. Dafür identifizieren wir diejenigen Vorhersagemodelle, welche dem Vorhersagemodell der zu untersuchenden Software am ähnlichsten sind. Diese Modelle werden dann kombiniert um damit projektübergreifende Fehlervorhersagen zu berechnen. Die Analyse von Vorhersagen für 19 Eclipse Plug-ins bestätigt die Hypothese, dass Fehlerprognosen basierend auf kollaborativem Filtern die Prognosen, die wir aus dem eigenen Model des Projekts berechnet haben, übertreffen. Der durchschnittliche AUC Wert beträgt 0.745 wenn wir die Prognosen mit Naive Bayes erstellen und 0.734 bei den Prognosen erstellt mit einem J48 Entscheidungsbaum. Zusätzlich analysieren wir die Ähnlichkeiten zwischen den gelernten Prognosemodellen von verschiedenen Projekten. Die Projekte angeordnet nach Ähnlichkeit bilden einen Knäuel und nicht wie erwartet verschiedene Gruppen. |
Export | BibTeX |