Learning from bug-introducing changes to prevent fault prone code

  • Authors:
  • Lerina Aversano;Luigi Cerulo;Concettina Del Grosso

  • Affiliations:
  • University of Sannio, Benevento, Italy;University of Sannio, Benevento, Italy;University of Sannio, Benevento, Italy

  • Venue:
  • Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

A version control system, such as CVS/SVN, can provide the history of software changes performed during the evolution of a software project. Among all the changes performed there are some which cause the introduction of bugs, often resolved later with other changes. In this paper we use a technique to identify bug-introducing changes to train a model that can be used to predict if a new change may introduces or not a bug. We represent software changes as elements of a n-dimensional vector space of terms coordinates extracted from source code snapshots. The evaluation of various learning algorithms on a set of open source projects looks very promising, in particular for KNN (K-Nearest Neighbor algorithm) where a significant tradeoff between precision and recall has been obtained.