一种基于程序变异的软件错误定位技术

被引:15
作者
贺韬 [1 ,2 ]
王欣明 [3 ]
周晓聪 [1 ]
李文军 [3 ]
张震宇 [4 ]
张成志 [2 ]
机构
[1] 中山大学信息科学与技术学院
[2] 香港科技大学计算机科学及工程学系
[3] 中山大学软件学院
[4] 中国科学院软件研究所
关键词
软件调试; 错误定位; 程序变异分析; 软件工程;
D O I
暂无
中图分类号
TP311.52 [];
学科分类号
081202 ; 0835 ;
摘要
发现软件不能正常运行后,如何定位错误代码在程序中的位置是软件开发一个众所周知的难点.最近许多软件自动调试技术通过分析成功和失败测试用例的覆盖信息辅助程序员定位错误代码,但这些技术的准确率会受到偶然性成功测试用例的影响.偶然性成功测试用例执行了错误代码,但却没有引发失败的测试结果.研究表明这种测试用例在实际测试中广泛存在,而它们的存在会显著降低错误定位的准确率.针对此问题,文中提出一种称为Muffler的技术.Muffler使用程序变异分析来修正错误代码定位结果,以提高定位的准确率.文中利用8个在错误代码定位研究领域广泛使用的基准程序验证了Muffler的有效性.实验结果表明,与传统错误代码定位技术相比,Muffler能减少程序员50.26%的错误定位代价.
引用
收藏
页码:2236 / 2244
页数:9
相关论文
共 8 条
[1]   A Model for Spectra-Based Software Diagnosis [J].
Naish, Lee ;
Lee, Hua Jie ;
Ramamohanarao, Kotagiri .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2011, 20 (03)
[2]   Non-parametric statistical fault localization [J].
Zhang, Zhenyu ;
Chan, W. K. ;
Tse, T. H. ;
Yu, Y. T. ;
Hu, Peifeng .
JOURNAL OF SYSTEMS AND SOFTWARE, 2011, 84 (06) :885-905
[3]   Fault localization based on information flow coverage [J].
Masri, Wes .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2010, 20 (02) :121-147
[4]   A practical evaluation of spectrum-based fault localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
Golsteijn, Rob ;
van Gemund, Arjan J. C. .
JOURNAL OF SYSTEMS AND SOFTWARE, 2009, 82 (11) :1780-1792
[5]  
A family of code coverage-based heuristics for effective fault localization[J] . W. Eric Wong,Vidroha Debroy,Byoungju Choi.The Journal of Systems & Software . 2009 (2)
[6]  
Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact[J] . Hyunsook Do,Sebastian Elbaum,Gregg Rothermel.Empirical Software Engineering . 2005 (4)
[7]  
An experimental determination of sufficient mutant operators[J] . A. Jefferson Offutt,Ammei Lee,Gregg Rothermel,Roland H. Untch,Christian Zapf.ACM Transactions on Software Engineering and Methodology (TOSEM) . 1996 (2)
[8]  
Experiments of the ef-fectiveness of dataflow-and controlflow-based test adequacy cri-teria. Hutchins M,Foster H,Goradia T,et al. Proceedings of the 16th International Conference onSoftware Engineering . 1994