• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学 ›› 2016, Vol. 38 ›› Issue (04): 679-685.

• 论文 • 上一篇    下一篇

一种改进的基于交叉矩阵统计的软件故障定位技术

杨书新1,刁文1,2   

  1. (1 江西理工大学信息工程学院,江西 赣州 341000;2 赣州银行股份有限公司,江西 赣州 341000 )
  • 收稿日期:2015-06-08 修回日期:2015-08-01 出版日期:2016-04-25 发布日期:2016-04-25
  • 基金资助:

    国家自然科学基金(41362015);江西省科技厅青年科学基金(20122BAB211035); 江西省教育厅科技项目(GJJ14431,GJJ14432,GJJ14458)

An improved software fault localization technology #br# based on crossover matrix statistics  

YANG Shuxin1,DIAO Wen1,2   

  1. (1.School of Information Engineering,Jiangxi University of Science and Technology,Ganzhou 341000;
    2.The Bank of Ganzhou Limited by Share Ltd,Ganzhou 341000,China)
  • Received:2015-06-08 Revised:2015-08-01 Online:2016-04-25 Published:2016-04-25

摘要:

故障定位是软件调试过程中一项耗时耗力的工作,而自动故障定位技术能够很好地与自动测试技术相结合,对于提高软件调试效率具有重要的现实意义。提出了一种改进的基于交叉矩阵统计的软件故障定位技术。该方法在故障定位前先对所有的成功执行轨迹序列和失败执行轨迹序列进行聚类约减,以消除执行轨迹冗余;然后将消除冗余后的执行轨迹存储到交叉矩阵中;最后通过Crosstab算法计算出各语句的可疑度并对语句进行可疑度排序,进而产生故障报告。在西门子测试程序集上做了执行轨迹聚类约减前后的性能对比实验,实验结果验证了本文方法的有效性。

关键词: 故障定位, 聚类约减, 交叉矩阵, 性能对比

Abstract:

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.   

Key words: fault localization, clustering reduction, crossover matrix, performance comparison