Not logged in.

Contribution Details

Type Master Thesis
Scope Discipline-based scholarship
Title Collaborative defect prediction: applying collaborative filtering to cross-project defect prediction
Organization Unit
Authors
  • Reto Zenger
Supervisors
  • Harald Gall
  • Amancio Bouza
  • Emanuel Giger
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Number of Pages 44
Date January 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