paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Identifying error code misuses in complex system

识别复杂系统中的错误码误用
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 2/10 · 该论文属于程序分析与静态分析,但核心问题是错误码误用检测,与用户画像中 PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析及其与 LLM 的交叉方向没有直接交集。其工业系统实证和静态分析方法仅在广义偏好上弱相关。引用 2 inbox
Wensheng Tang
crossref: 2026-09-12

AI 速览

一句话:通过实证研究归纳三类错误码误用,并提出基于错误码定义与错误域赋值的静态分析方法。

许多复杂软件系统用错误码区分错误状态,错误码误用会导致难以理解却致命的系统故障,且故障点常远离根因,调试困难。现有静态分析主要关注错误码的传播或使用方式,未考虑在不同程序上下文中错误码选择是否正确,因而漏报大量误用。本文对成熟商业系统中的错误码误用进行实证研究,从提交历史收集相关问题并归纳出三类主要成因;进而提出一种静态方法,以错误码定义和错误域赋值为输入,采用新颖的静态分析检测源码中三类错误码误用的发生。摘要未报告定量评估结果。

问题
复杂系统中错误码误用会导致致命且难调试的故障;现有静态分析只关注错误码的传播或使用,忽略不同程序上下文中错误码选择是否正确。
方法
对成熟商业系统提交历史中的错误码问题进行实证研究,归纳三类成因,并提出以错误码定义和错误域赋值为输入的新型静态分析来检测三类误用。
评估
基于商业系统的提交历史开展实证研究并实现静态检测;摘要未报告准确率、召回率等定量评估结果。
原文摘要(Abstract)

Many complex software systems use error codes to differentiate error states. Therefore, it is crucial to ensure those error codes are used correctly. Misuses of error codes can lead to hardly sensible but fatal system failures. These errors are especially difficult to debug, since the failure points are usually far away from the root causes. Existing static analysis approaches to detecting error handling bugs mainly focus on how an error code is propagated or used in a program. However, they do not consider whether an error code is correctly chosen for propagation or usage within different program contexts, and thus miss to detect many error code misuse bugs. In this work, we conduct an empirical study on error code misuses in a mature commercial system. We collect error code issues from the commit history and conclude three main causes of them. To further resolve this problem, we propose a static approach that can automatically detect error code misuses. Our approach takes error code definition and error domain assignment as the input, and uses a novel static analysis method to detect the occurrence of the three categories of error code misuses in the source code.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5352,
  title = {Identifying error code misuses in complex system},
  author = {Wensheng Tang},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3338986}
}