paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Foliage: Nourishing Evolving Software by Characterizing and Clustering Field Bugs

Foliage:通过刻画与聚类现场缺陷来滋养演化中的软件
ISSTA Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis2024匹配度 2/10 · 论文聚焦 JavaScript 生产环境缺陷的追踪、错误信息增强与聚类,属于软件工程中的测试/调试/修复方向;与用户关心的静态分析、LLM/Agent 程序分析、浮点程序分析或贝叶斯程序分析均无直接交叉。引用 0 inbox
Zhanyao Lei, Yixiong Chen, Mingyuan Xia, Zhengwei Qi
crossref: 2026-09-12

AI 速览

一句话:提出面向 JavaScript 现场缺陷的追踪与聚类工具链,通过错误信息增强和语言特征聚类提升缺陷归并效果。

现代软件迭代快、集成复杂,开发阶段难覆盖所有缺陷,许多缺陷只在生产环境暴露。现场错误报告数量庞大,高频琐碎缺陷淹没低频重要缺陷;代码演化还使同一缺陷在不同版本产生不同异常与栈轨迹。为此,作者提出面向 JavaScript 应用的缺陷追踪与聚类工具链 Foliage。它采用错误信息增强技术,并提出基于字符/语言特征的聚类方法与 V-measure、基数偏差、命中率三项评估指标。实验表明,其聚类效果平均比已有方法提升 31.1%;在真实应用两年生产数据中捕获超 25 万条错误报告,聚类为 132 个独立缺陷。作者还开源了带标签的错误报告数据集。

问题
现代软件生产环境中的现场缺陷报告数量大且随版本演化,难以有效追踪、归并和理解,高频琐碎缺陷会掩盖重要低频缺陷。
方法
Foliage 通过错误信息增强和基于字符/语言特征的聚类,对 JavaScript 现场错误报告进行追踪与分组,并提供聚类评估指标。
评估
在三项聚类指标上平均优于已有方法 31.1%,并在真实应用两年、超过 25 万条错误报告上聚类得到 132 个独立缺陷;同时开源了带标签数据集。
原文摘要(Abstract)

Modern programs, characterized by their complex functionalities, high integration, and rapid iteration cycles, are prone to errors. This complexity poses challenges in program analysis and software testing, making it difficult to achieve comprehensive bug coverage during the development phase. As a result, many bugs are only discovered during the software’s production phase. Tracking and understanding these field bugs is essential but challenging: the uploaded field error reports are extensive, and trivial yet high-frequency bugs can overshadow important low-frequency bugs. Additionally, application codebases evolve rapidly, causing a single bug to produce varied exceptions and stack traces across different code releases. In this paper, we introduce Foliage, a bug tracking and clustering toolchain designed to trace and characterize field bugs in JavaScript applications, aiding developers in locating and fixing these bugs. To address the challenges of efficiently tracking and analyzing the dynamic and complex nature of software bugs, Foliage proposes an error message enhancement technique. Foliage also introduces the verbal-characteristic-based clustering technique, along with three evaluation metrics for bug clustering: V-measure, cardinality bias, and hit rate. The results show that Foliage’s verbal-characteristic-based bug clustering outperforms previous bug clustering approaches by an average of 31.1% across these three metrics. We present an empirical study of Foliage applied to a complex real-world application over a two-year production period, capturing over 250,000 error reports and clustering them into 132 unique bugs. Finally, we open-source a bug dataset consisting of real and labeled error reports, which can be used to benchmark bug clustering techniques.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8578,
  title = {Foliage: Nourishing Evolving Software by Characterizing and Clustering Field Bugs},
  author = {Zhanyao Lei and Yixiong Chen and Mingyuan Xia and Zhengwei Qi},
  booktitle = {ISSTA},
  year = {2024},
  doi = {10.1145/3650212.3680363}
}