一句话:提出 EXPECT,利用异常触发流定位软件故障,并缓解并列问题,显著提升定位效果。
现有故障定位技术通常分析静态信息和运行时剖面,信息范围过宽,定位效果不理想。异常是广泛使用的语言特性,与程序执行状态密切相关,但此前研究常忽略其用于故障定位的价值。本文提出 EXPECT,一种利用异常信息的故障定位技术。EXPECT 首先构建异常触发流,包含异常触发信息与执行轨迹;随后通过追踪不同异常触发流之间的分叉点来定位故障。该方法还可利用异常触发流缓解并列问题。实验结果表明,与当前最优故障定位技术相比,EXPECT 在 Exam 指标上最高提升 38.26%,并将现有故障定位方法中的并列规模最多降低 99.08%。
Existing fault localization techniques typically analyze static information and run-time profiles of faulty software programs, and subsequently calculate suspiciousness values for each program entity. Such strategies typically have overbroad information to be analyzed and lead to unsatisfactory results. Exception is a widely-used programming language feature. It is closely related to the execution status during the execution of programs, and thus can be incorporated into automatic fault localization techniques for better effectiveness. Based on this intuition, we propose EXPECT, a novel fault localization technique that makes use of exception information, a valuable source of data for fault localization while being often ignored in previous research. Specifically, EXPECT first constructs exception trigger streams (including exception trigger information and execution traces), and then localizes faults by tracing bifurcation points between different exception trigger streams. Moreover, the tie-breaking problem can be also benefited from the use of exception trigger streams. Experimental results demonstrate the advantages of EXPECT: it achieves as high as 38.26% improvements in localizing faults regarding the Exam metric in comparison to the state-of-the-art fault localization technique, and it reduces the scales of ties in existing FL methods by up to 99.08%.
DOI 原文 ·
@inproceedings{paperbot8370,
title = {Do not neglect what's on your hands: localizing software faults with exception trigger stream},
author = {Xihao Zhang and Yi Song and Xiaoyuan Xie and Qi Xin and Chenliang Xing},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3695479}
}