A learning-to-rank approach to software defect prediction

Xiaoxing YANG, Ke TANG, Xin YAO

Research output: Journal PublicationsJournal Article (refereed)peer-review

125 Citations (Scopus)

Abstract

Software defect prediction can help to allocate testing resources efficiently through ranking software modules according to their defects. Existing software defect prediction models that are optimized to predict explicitly the number of defects in a software module might fail to give an accurate order because it is very difficult to predict the exact number of defects in a software module due to noisy data. This paper introduces a learning-to-rank approach to construct software defect prediction models by directly optimizing the ranking performance. In this paper, we build on our previous work, and further study whether the idea of directly optimizing the model performance measure can benefit software defect prediction model construction. The work includes two aspects: one is a novel application of the learning-to-rank approach to real-world data sets for software defect prediction, and the other is a comprehensive evaluation and comparison of the learning-to-rank method against other algorithms that have been used for predicting the order of software modules according to the predicted number of defects. Our empirical studies demonstrate the effectiveness of directly optimizing the model performance measure for the learning-to-rank approach to construct defect prediction models for the ranking task. © 1963-2012 IEEE.
Original languageEnglish
Article number6996020
Pages (from-to)234-246
Number of pages13
JournalIEEE Transactions on Reliability
Volume64
Issue number1
Early online date23 Dec 2014
DOIs
Publication statusPublished - Mar 2015
Externally publishedYes

Keywords

  • count models
  • learning-to-rank
  • metric selection
  • Software defect prediction
  • software metrics

Fingerprint

Dive into the research topics of 'A learning-to-rank approach to software defect prediction'. Together they form a unique fingerprint.

Cite this