Applying the Mahalanobis-Taguchi Strategy for Software Defect Diagnosis
by D. Liparas, L. Angelis and R. Feldt
Springer PDF

Scripts for MTS and MTGS calculation in R: mtgs.r mts.r


The Mahalanobis-Taguchi (MT) strategy combines mathematical and statistical concepts like Mahalanobis distance, Gram-Schmidt orthogonalization and experimental designs to support diagnosis and decision-making based on multivariate data. The primary purpose is to develop a scale to measure the degree of abnormality of cases, compared to “normal” or “healthy” cases, i.e. a continuous scale from a set of binary classified cases. An optimal subset of variables for measuring abnormality is then selected and rules for future diagnosis are defined based on them and the measurement scale. This maps well to problems in software defect prediction based on a multivariate set of software metrics and attributes. In this paper, the MT strategy combined with a cluster analysis technique for determining the most appropriate training set, is described and applied to well-known datasets in order to evaluate the fault-proneness of software modules. The measurement scale resulting from the MT strategy is evaluated using ROC curves and shows that it is a promising technique for software defect diagnosis. It compares favorably to previously evaluated methods on a number of publically available data sets. The special characteristic of the MT strategy that it quantifies the level of abnormality can also stimulate and inform discussions with engineers and managers in different defect prediction situations.


  author =    {"Dimitris Liparas and Lefteris Angelis and Robert Feldt"},
  title =     {"Applying the Mahalanobis-Taguchi Strategy for Software Defect Diagnosis"},
  year =      "2012",
  journal =   "Automated Software Engineering Journal",
  volume =    "19",
  issue =     "2",
  pages =     "141--165",
  publisher = "Springer",
  doi =       "10.1007/s10515-011-0091-2",
  submitted = "2010",
  keywords =  "Software defect prediction",
  url =       "",
  url =       "",
  Chalmers CPL number = "154414",