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
   159   160   161   162   163   164   165   166   167   168   169