Page 164 - 《软件学报》2026年第7期
P. 164
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
2026,37(7):2849−2870 [doi: 10.13328/j.cnki.jos.007583] [CSTR: 32375.14.jos.007583] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
*
基于异常检查点植入的软件缺陷定位方法
宋 壹, 谢晓园, 张熙灏, 辛 奇, 邢宸亮
(武汉大学 计算机学院, 湖北 武汉 430072)
通信作者: 谢晓园, E-mail: xxie@whu.edu.cn
摘 要: 软件缺陷定位任务以程序表层的执行错误为入口, 通过分析程序运行过程中异常的内部状态, 定位到底层
代码级的缺陷根因. 目前主流的基于频谱和基于突变的缺陷定位以及当前最先进的 SmartFL 技术分别采用覆盖信
息、突变信息和以程序语义为代表的信息作为观测程序内部状态的窗口, 所用信息过于宽泛、针对性不足, 且 3
类 (项) 技术分别受限于语句风险值捆绑、突变成本过高、信息规模庞大等瓶颈. 为此, 近期一项基于异常触发信
息的缺陷定位技术 EXPECT 提出通过程序自带的异常处理语句 (Try-catch 块) 对程序错误的执行状态进行监控,
以更低的成本实现了超越上述主流技术的缺陷定位效果, 该方法的运行前提是错误程序中必须含有足量的异常处
理语句. 然而, 在真实的开源环境中, 许多软件程序并没有设置良好的异常处理机制, 导致其代码仅包含十分稀疏
甚至不包含异常处理语句, 这直接影响 EXPECT 技术赖以运行的基础. 为此, 提出基于异常检查点植入的软件缺陷
定位方法 INSPECT (inserted checkpoint-based fault localization). 通过为错误程序自动植入临时的异常处理语句作
为对运行时内部状态的检查点、设计更加先进的程序语句风险值计算方法, 将 EXPECT 方法的适用范围拓展到不
包含异常处理语句的更普遍程序, 有效地将异常触发信息这一缺陷定位高效源数据的应用场景进行拓展, 实现了
泛化性的提升. 实验结果表明, INSPECT 实现了比现有最先进技术更好的缺陷定位效果: 在最好、平均、最差
EXAM 指标上的提升幅度分别为 95.25%、55.92% 和 16.65% (模拟缺陷), 以及 93.39%、57.54% 和 13.92% (真实
缺陷); 在 MRR 指标上的提升为 311.47% (模拟缺陷) 和 283.31% (真实缺陷).
关键词: 软件缺陷定位; 异常处理机制; 检查点植入; 软件质量保障
中图法分类号: TP311
中文引用格式: 宋壹, 谢晓园, 张熙灏, 辛奇, 邢宸亮. 基于异常检查点植入的软件缺陷定位方法. 软件学报, 2026, 37(7):2849–2870.
http://www.jos.org.cn/1000-9825/7583.htm
英文引用格式: Song Y, Xie XY, Zhang XH, Xin Q, Xing CL. Software Fault Localization Method Based on Exception Checkpoint
Injection. Ruan Jian Xue Bao/Journal of Software, 2026, 37(7): 2849–2870 (in Chinese). http://www.jos.org.cn/1000-9825/7583.htm
Software Fault Localization Method Based on Exception Checkpoint Injection
SONG Yi, XIE Xiao-Yuan, ZHANG Xi-Hao, XIN Qi, XING Chen-Liang
(School of Computer Science, Wuhan University, Wuhan 430072, China)
Abstract: Software fault localization tasks begin with the program execution failure, and locate the root cause of the fault at the code
level by analyzing the abnormal internal state during program execution. The current mainstream spectrum-based and mutation-based fault
localization techniques, and state-of-the-art technique SmartFL utilize coverage information, mutation information, and information
represented by program semantics respectively as windows to observe the internal state of the program. The employed information is too
broad and not targeted enough, and the three types of technology are limited by bottlenecks such as the tie of statement risk values,
* 基金项目: 国家重点研发计划 (2024YFF0908003); 国家自然科学基金 (62472326); CCF-智谱大模型创新基金 (CCF-Zhipu202408)
本文由“智能化基础软件可信构造和供应链安全”专题特约编辑王林章教授、司徒凌云研究员、钟浩研究员、 向剑文教授、张路教授
推荐.
收稿时间: 2025-09-05; 修改时间: 2025-10-20; 采用时间: 2025-12-08; jos 在线出版时间: 2025-12-26
CNKI 网络首发时间: 2026-06-02

