一句话:提出刻画多故障交互(遮蔽、协同、级联)的形式模型与推理框架,解释调试与修复工具为何失效。
多故障程序同时包含多个缺陷,缺陷之间会以微妙方式交互:一个缺陷可能遮蔽另一个缺陷的影响,组合后甚至引发新的失败,因此这类程序极难调试与修复。本文探讨为何当今的调试与修复工具在面对多故障程序时仍然力不从心。作者提出一个形式化模型,用于刻画故障交互的不同方式,包括遮蔽、协同与级联。基于该模型,论文进一步提出一个新框架,不再孤立地看待故障,而是将其视为影响网络的一部分进行推理。这一视角为未来能够更好地理解、诊断并修复多故障程序的工具奠定了基础。
Multi-fault programs, which contain more than one bug simultaneously, are notoriously difficult to debug and repair. This is largely because faults can interact in subtle ways: one might hide the effects of another, or even cause new failures to appear when combined. In this paper, we investigate why multi-fault programs remain so challenging for today’s debugging and repair tools. We introduce a formal model that captures the different ways faults can interact, including masking, synergy, and cascading. Building on this model, we propose a novel framework for reasoning about faults, not in isolation, but as part of a network of influences. This perspective opens the door for future tools that can better understand, diagnose, and repair programs with multiple faults.
DOI 原文 ·
@inproceedings{paperbot9311,
title = {Debugging the Undebuggable: Why Multi-Fault Programs Break Debugging and Repair Tools},
author = {Omar I. Al-Bataineh},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00320}
}