Abstract:Spectrum-based fault localization (SBFL) techniques aim at identifying the executing programs codes that correlate with failure. A dichotomy matrix for SBFL records the bivariate frequency distribution of the test case results and the program element hit numbers. Given the matrix, many SBFL association measures are proposed to compute suspiciousness scores of the program elements. Research shows that any association measure can't be statistically better than other measures when localizing buggy program. Therefore, a technique based the classification algorithm is proposed which can automatically learn the specific measure for a program set. A sample in training dataset is constructed by employing a pair of faulty statement and non-faulty statement ones, and its features are the probability features difference of two statements. It is evaluated with three benchmark datasets: Siemens suite, space and gzip. Experimental result indicates that the learned measures with LibLinear, Logistic, SGD and SMO of Weka outperformed existing SBFL association measures.