paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Responsibility in Context: On Applicability of Slicing in Semantic Regression Analysis

语境中的责任:论切片在语义回归分析中的适用性
ICSE 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)2023匹配度 3/10 · 论文属于程序切片与回归故障调试的静态分析工作,与用户关注的 PL↔AI 交叉、ML/Agentic 程序分析、浮点程序分析或贝叶斯程序分析均无直接关联;仅在广义程序分析与缺陷定位/调试上略有交集。引用 4 inbox
Sahar Badihi, Khaled Ahmed, Yi Li, Julia Rubin
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:评估双切片在回归故障排查中的适用性,并提出 INPRESS 压缩切片中的传播代码。

论文针对回归失败排查这一耗时任务,研究程序切片尤其是 dual slicing 在实际故障定位中的适用性。作者在 Defects4J 基准以及自建的 LibRench(八个大型开源客户端-库项目对,均含库升级失败)上进行实验,发现切片虽能缩小人工检查范围,但仍过大,且多数语句处理变更代码块之间的信息传播;这些语句提供必要上下文,却不直接导致失败。为此,作者提出 INPRESS,自动识别并摘要传播相关代码块,从而进一步缩小切片。评估表明,INPRESS 生成的切片平均比原始切片短 76%(平均 207 条 vs. 2,007 条执行语句),在保留必要上下文信息的同时减少了开发者需检查的信息量。

问题
回归失败排查非常耗时,现有切片技术能否在实践中足够准确且显著缩减需人工检查的代码范围仍不明确。
方法
作者将 dual slicing 应用于 Defects4J 与 LibRench 中的回归失败,分析切片过大的原因,并提出工具 INPRESS,通过识别和摘要传播相关代码块来压缩切片。
评估
在 Defects4J 和八个客户端-库项目对上评估切片效果与 INPRESS 的缩减能力,结果显示切片平均从 2,007 条执行语句降至 207 条,缩短约 76%。
原文摘要(Abstract)

Numerous program slicing approaches aim to help developers troubleshoot regression failures - one of the most time-consuming development tasks. The main idea behind these approaches is to identify a subset of interdependent program statements relevant to the failure, minimizing the amount of code developers need to inspect. Accuracy and reduction rate achieved by slicing are the key considerations toward their applicability in practice: inspecting only the statements in a slice should be faster and more efficient than inspecting the code in full. In this paper, we report on our experiment applying one of the most recent and accurate slicing approaches, dual slicing, to the task of troubleshooting regression failures. As subjects, we use projects from the popular Defects4J benchmark and a systematically-collected set of eight large, open-source client-library project pairs with at least one library upgrade failure, which we refer to as LibRench. The results of our experiments show that the produced slices, while effective in reducing the scope of manual inspection, are still very large to be comfortably analyzed by a human. When inspecting these slices, we observe that most statements in a slice deal with the propagation of information between changed code blocks; these statements are essential for obtaining the necessary context for the changes but are not responsible for the failure directly. Motivated by this insight, we propose a novel approach, implemented in a tool named INPRESS, for further reducing the size of a slice by accurately identifying and summarizing the propagation-related code blocks. Our evaluation of INPRESS shows that it is able to produce slices that are 76% shorter than the original ones (207 vs. 2,007 execution statements, on average), thus, reducing the amount of information developers need to inspect without losing the necessary contextual information.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{BadihiALR23,
  title = {Responsibility in Context: On Applicability of Slicing in Semantic Regression Analysis},
  author = {Sahar Badihi and Khaled Ahmed and Yi Li and Julia Rubin},
  booktitle = {ICSE},
  year = {2023},
  doi = {10.1109/icse48619.2023.00057}
}