paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Locating Framework-specific Crashing Faults with Compact and Explainable Candidate Set

利用紧凑且可解释的候选集定位框架特定崩溃故障
ICSE 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)2023匹配度 3/10 · 该论文属于静态分析与崩溃故障定位范畴,虽在方法上(构造异常抛出摘要、静态数据追踪)与用户从事的程序分析有方法论关联,但不涉及用户核心追问的 PL↔AI、Agentic 程序、浮点分析或贝叶斯程序分析,也未使用 LLM/Agent 或面向 ML 系统。引用 2 inbox
Jiwei Yan, Miaomiao Wang, Yepang Liu, Jun Yan, Long Zhang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出基于代码分离与异常抛出摘要的框架特定崩溃故障定位方法,生成紧凑可解释候选集。

许多应用依赖框架或库,框架 API 演化与复杂实现导致大量发布后崩溃。现有方法依赖调用图追踪或历史修复记录,受限于调用图完整性与记录可获取性,且常只处理人工建模的异常类型。本文提出基于代码分离的定位方法,弱依赖调用图且无需先验知识:一条崩溃堆栈及描述消息可映射到框架中确定的异常抛出点,语义分析可揭示触发过程根因。作者设计异常抛出摘要(ETS),静态计算与异常触发相关的关键变量和 API,并在应用代码中追踪它们以得到排序候选。Android 框架崩溃定位实验中,CrashTracker 的 MRR 为 0.91,精度优于 Anchor,候选集紧凑且可解释。

问题
框架 API 的频繁演化与复杂实现使依赖应用易发生发布后崩溃;现有定位方法受限于调用图完整性或历史修复记录,且常只覆盖人工建模的异常类型。
方法
提出基于代码分离的定位方法,先为框架特定异常构建异常抛出摘要(ETS),描述关键变量与关键 API,再静态分析应用代码追踪这些变量/API,生成排序的故障候选。
评估
在 Android 框架特定崩溃定位场景中实现 CrashTracker,以 MRR 和精度与 SOTA 工具 Anchor 对比,并考察候选集紧凑性与报告可解释性。
原文摘要(Abstract)

Nowadays, many applications do not exist independently but rely on various frameworks or libraries. The frequent evolution and the complex implementation of framework APIs induce lots of unexpected post-release crashes. Starting from the crash stack traces, existing approaches either perform application-level call graph (CG) tracing or construct datasets with similar crash-fixing records to locate buggy methods. However, these approaches are limited by the completeness of CG or dependent on historical fixing records, and some of them only focus on specific manually modeled exception types. To achieve effective debugging on complex framework-specific crashes, we propose a code-separation-based locating approach that weakly relies on CG tracing and does not require any prior knowledge. Our key insight is that one crash trace with the description message can be mapped to a definite exception-thrown point in the framework, the semantics analysis of which can help to figure out the root causes of the crash-triggering procedure. Thus, we can pre-construct reusable summaries for all the framework-specific exceptions to support fault localization in application code. Based on that idea, we design the exception-thrown summary (ETS) that describes both the key variables and key APIs related to the exception triggering. Then, we perform static analysis to automatically compute such summaries and make a data-tracking of key variables and APIs in the application code to get the ranked buggy candidates. In the scenario of locating Android framework-specific crashing faults, our tool CrashTracker exhibited an overall MRR value of 0.91 and outperforms the state-of-the-art tool Anchor with higher precision. It only provides a compact candidate set and gives user-friendly reports with explainable reasons for each candidate.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{YanWLYZ23,
  title = {Locating Framework-specific Crashing Faults with Compact and Explainable Candidate Set},
  author = {Jiwei Yan and Miaomiao Wang and Yepang Liu and Jun Yan and Long Zhang},
  booktitle = {ICSE},
  year = {2023},
  doi = {10.1109/icse48619.2023.00026}
}