编辑: 旋风 | 2017-11-29 |
ac.cn Journal of Software,2019,30(2):266?281 [doi: 10.13328/j.cnki.jos.005677] http://www.jos.org.cn ?中国科学院软件研究所版权所有. Tel: +86-10-62562563 增强上下文的错误定位技术 ? 张卓1,谭庆平
1 , 毛晓光
1 , 雷晏2,3 , 常曦4,薛建新 1,4
1 (国防科技大学 计算机学院,湖南 长沙 410072)
2 (重庆大学 大数据与软件学院,重庆 400044)
3 (信息物理社会可信服务计算教育部重点实验室(重庆大学),重庆 400044)
4 (上海第二工业大学 计算机与信息工程学院,上海 200127) 通讯作者: 雷晏, E-mail: [email protected] 摘要: 错误定位就是寻找程序错误的位置.现有的错误定位方法大多利用测试用例的覆盖信息,以标识一组导 致程序失效的可疑语句,却忽视了这些语句相互作用导致失效的上下文.因此,提出一种增强上下文的错误定位方法 Context-FL,以构建上下文的方式来优化错误定位性能.Context-FL 利用动态切片技术构建数据与控制相关性的错 误传播上下文,显示了导致失效的语句之间传播依赖关系;
然后,基于可疑值度量来区分上下文片段中不同语句的可 疑度;
最后,Context-FL 以标记可疑值的上下文作为定位结果.实验结果表明,Context-FL 优于
8 种典型错误定位方法. 关键词: 错误定位;
上下文;
动态切片;
SFL;
可疑值 中图法分类号: TP311 中文引用格式: 张卓,谭庆平,毛晓光,雷晏,常曦,薛建新.增强上下文的错误定位技术.软件学报,2019,30(2):266?281. http:// www.jos.org.cn/1000-9825/5677.htm 英文引用格式: Zhang Z, Tan QP, Mao XG, Lei Y, Chang X, Xue JX. Effective fault localization approach based on enhanced contexts. Ruan Jian Xue Bao/Journal of Software, 2019,30(2):266?281 (in Chinese). http://www.jos.org.cn/1000-9825/5677.htm Effective Fault Localization Approach Based on Enhanced Contexts ZHANG Zhuo1 , TAN Qing-Ping1 , MAO Xiao-Guang1 , LEI Yan2,3 , CHANG Xi4 , XUE Jian-Xin1,4
1 (College of Computer, National University of Defense Technology, Changsha 410072, China)
2 (School of Big Data and Software Engineering, Chongqing University, Chongqing 400044, China)
3 (Key Laboratory of Dependable Service Computing in Cyber Physical Society (Chongqing University), Ministry of Education, Chongqing 400044, China)
4 (College of Computer and Information Engineering, Shanghai Polytechnic University, Shanghai 200127, China) Abstract: Fault localization is a process to determine the root causes of abnormal behavior of a faulty program. Most existing fault localization approaches usually utilize coverage information of test cases to identify a set of isolated statements responsible for a failure, but do not show how these statements act on each other to cause the failure. Thus, this study proposes Context-FL: An approach enhancing contexts for these existing localization approaches by constructing contexts for fault localization optimization. Specifically, Context-FL uses dynamic slicing technology to construct a context showing how data/control dependence propagates to cause the faulty output. Then, it adopts suspiciousness evaluation to distinguish the elements of the context in terms of the suspiciousness being faulty. Finally, Context-FL outputs the context with suspiciousness as the localization result. The empirical results show that the proposed approach significantly outperforms
8 state-of-the-art fault localization techniques. Key words: fault localization;