一句话:提出基于程序变量运行值的失败邻近度与失败索引方法 ReClues,显著提升多故障调试效果。
在多故障定位中,不同根因的失败混在一起会严重干扰定位,因此需要按根因对失败进行分组,即失败索引任务,其核心是失败邻近度:如何有效表示失败、如何度量失败之间的距离。已有工作多从执行覆盖或可疑度排序列表提取失败签名,并使用欧氏距离或 Kendall tau 距离等度量,难以反映失败的本质特征,效果不理想。本文提出基于程序变量的失败邻近度,利用程序变量在运行时的取值来表示失败,并设计一组规则来度量失败之间的相似度,进而实现了新的失败索引方法 ReClues。实验表明 ReClues 具有很强竞争力:在模拟环境与真实世界环境中,相比该领域最先进技术,故障数量估计分别提升 44.12% 与 27.59%,聚类效果分别提升 47.56% 与 26.27%。
Failures with different root causes can greatly disrupt multi-fault localization, therefore, categorizing failures into distinct groups according to the culprit fault is highly important. In such a failure indexing task, the crux lies in the failure proximity, which comprises two points, i.e., how to effectively represent failures (e.g., extract the signature of failures) and how to properly measure the distance between those proxies for failures. Existing research has proposed a variety of failure proximities. The majority of them extract signatures of failures from execution coverage or suspiciousness ranking lists, and accordingly employ the Euclid or the Kendall tau distances, etc. However, such strategies may not properly reflect the essential characteristics of failures, thus resulting in unsatisfactory effectiveness. In this paper, we propose a new failure proximity, namely, the program variable-based failure proximity, and further present a novel failure indexing approach, ReClues. Specifically, ReClues utilizes the run-time values of program variables to represent failures, and designs a set of rules to measure the similarity between them. Experimental results demonstrate the competitiveness of ReClues: it can achieve 44.12% and 27.59% improvements in faults number estimation, as well as 47.56% and 26.27% improvements in clustering effectiveness, compared with the state-of-the-art technique in this field, in simulated and real-world environments, respectively.
@inproceedings{paperbot11312,
title = {ReClues: Representing and indexing failures in parallel debugging with program variables},
author = {Yi Song and Xihao Zhang and Xiaoyuan Xie and Quanming Liu and Ruizhi Gao and Chenliang Xing},
booktitle = {ICSE},
year = {2024},
doi = {10.1145/3597503.3639098}
}