摘要
故障定位是软件调试过程中一项耗时耗力的工作,而自动故障定位技术能够很好地与自动测试技术相结合,对于提高软件调试效率具有重要的现实意义。提出了一种改进的基于交叉矩阵统计的软件故障定位技术。该方法在故障定位前先对所有的成功执行轨迹序列和失败执行轨迹序列进行聚类约减,以消除执行轨迹冗余;然后将消除冗余后的执行轨迹存储到交叉矩阵中;最后通过Crosstab算法计算出各语句的可疑度并对语句进行可疑度排序,进而产生故障报告。在西门子测试程序集上做了执行轨迹聚类约减前后的性能对比实验,实验结果验证了本文方法的有效性。
Fault localization is time consuming in the process of software debugging.Combining the automatic fault location technology with the automatic testing technology,high efficiency of software debugging can be realized.We propose an improved software fault localization technology based on crossover matrix statistics.We firstly conduct clustering reduction for all traces(successful or not)before localizing the faults so as to eliminate redundant execution traces.The remaining execution traces are stored in the crossover matrix.Finally the dubiety degree of the statements in the crossover matrix is calculated by the Crosstab algorithm and ranked to get the fault report.Performance experiments before and after the clustering reduction of traces on Siemens Suites verify the effectiveness of the proposed method.
出处
《计算机工程与科学》
CSCD
北大核心
2016年第4期679-685,共7页
Computer Engineering & Science
基金
国家自然科学基金(41362015)
江西省科技厅青年科学基金(20122BAB211035)
江西省教育厅科技项目(GJJ14431
GJJ14432
GJJ14458)
关键词
故障定位
聚类约减
交叉矩阵
性能对比
fault localization
clustering reduction
crossover matrix
performance comparison