Abstract:
Software fault prediction is helpful in early detection of faults, in reducing testing cost and
in improving resulting software quality. Software fault prediction considering extracted data
from previously tested applications with faults proneness helps to predict software faults in
system under test (SUT). Such data sets are collected considering established software
metrics proposals such as CK, McCabe and MOOD and are available both as public
repositories such as PROMISE1 and as private repositories. We use CK metrics for software
fault prediction and we do class-level fault localization, considering dominant features
providing us better results, so that we are able to write test cases covering specific aspects
of code. We use classification-based software fault predication to arrive at a point where we
predict module level faulty parts of SUT and we do fault localization using clustering
selecting features using Principal Component Analysis (PCA). We make use of CK metrics
and we consider more than sixty data sets having labeled data. We provide validation of our
results considering case studies where we first report faulty modules leading to individual
classes and considering complete CK metrics producing confusion matrix and comparing
results.