一种基于程序变异的软件错误定位技术  被引量:15

A Software Fault Localization Technique Based on Program Mutations

在线阅读下载全文

作  者:贺韬[1,2] 王欣明[3] 周晓聪[1] 李文军[3] 张震宇[4] 张成志[2] 

机构地区:[1]中山大学信息科学与技术学院,广州510275 [2]香港科技大学计算机科学及工程学系,中国香港 [3]中山大学软件学院,广州510275 [4]中国科学院软件研究所,北京100190

出  处:《计算机学报》2013年第11期2236-2244,共9页Chinese Journal of Computers

基  金:国家自然科学基金(6103027);中山大学中央高校基本科研业务费专项资金(10LGZD05,1LGPY39);香港研究资助局项目(61210);国家科技重大专项经费(2012ZX01039-004)资助~~

摘  要:发现软件不能正常运行后,如何定位错误代码在程序中的位置是软件开发一个众所周知的难点.最近许多软件自动调试技术通过分析成功和失败测试用例的覆盖信息辅助程序员定位错误代码,但这些技术的准确率会受到偶然性成功测试用例的影响.偶然性成功测试用例执行了错误代码,但却没有引发失败的测试结果.研究表明这种测试用例在实际测试中广泛存在,而它们的存在会显著降低错误定位的准确率.针对此问题,文中提出一种称为Muffler的技术.Muffler使用程序变异分析来修正错误代码定位结果,以提高定位的准确率.文中利用8个在错误代码定位研究领域广泛使用的基准程序验证了Muffler的有效性.实验结果表明,与传统错误代码定位技术相比,Muffler能减少程序员50.26%的错误定位代价.Recent fault localization techniques leverage program coverage of both passed test runs and failed test runs to reduce the high cost of debugging. The effectiveness of such techniques can be adversely affected by coincidental correctness, which occurs in a passed test run when a fault has been executed but no failure is detected. Studies have shown that coincidental correctness is a com- mon phenomenon and its occurrence can significantly reduce the effectiveness of fault localization. In this paper, a fault localization technique named Muffler is proposed, which uses mutation analysis to address this problem and improve fault localization. Muffler systematically mutates statements in a faulty program and estimates their likelihood of being faulty based on both coverage and how muta tion affects the outcome of passed test cases. Experiments on eight benchmark programs widely used in fault localization are conducted to evaluate our method. Results indicate that Muffler can help programmers locate faults effectively with a reduction of 50.26 ~ in code examination effort.

关 键 词:软件调试 错误定位 程序变异分析 软件工程 

分 类 号:TP312[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象