paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automatic Self-Validation for Code Coverage Profilers

代码覆盖率剖析器的自动自验证
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 2/10 · 论文聚焦代码覆盖率剖析器的蜕变测试与缺陷发现,属于软件测试/调试方向,不涉及 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析,与用户画像的核心交叉方向关联很弱。引用 15 inbox
Yibiao Yang, Yanyan Jiang, Zhiqiang Zuo, Yang Wang, Hao Sun, Hongmin Lu, Yuming Zhou, Baowen Xu
crossref: 2026-09-12

AI 速览

一句话:提出 Cod 工具,基于蜕变关系自动自验证代码覆盖率剖析器,零误报发现 gcov 与 llvm-cov 的缺陷。

代码覆盖率作为基础动态程序行为信息,广泛支撑测试、模糊测试、调试、缺陷检测与程序理解等任务,因此覆盖率剖析器的可靠性至关重要。然而相关研究不足且存在测试预言问题,gcov、llvm-cov 等常用工具仍频繁出现缺陷。本文提出 Cod,一个自动化自验证方法:它以编译器测试套件程序或随机生成程序为输入,在原程序与变异变体之间建立覆盖率统计的蜕变关系,零误报检测剖析器缺陷。在 gcov 和 llvm-cov 上的四个月评估共发现 196 个潜在缺陷(gcov 123、llvm-cov 73),其中 23 个已获开发者确认。

问题
代码覆盖率剖析器广泛用于测试、模糊测试、调试等任务,但其自身可靠性缺乏充分测试,且受测试预言问题困扰,gcov 和 llvm-cov 等常用工具仍存在缺陷。
方法
提出 Cod,从编译器测试套件或随机生成的测试程序出发,利用原程序与变异变体之间覆盖率统计的蜕变关系进行自验证,以零误报方式检测剖析器缺陷。
评估
在 gcov 和 llvm-cov 两个广泛使用的覆盖率剖析器上进行为期四个月的评估,共发现 196 个潜在缺陷,其中 23 个已被开发者确认。
原文摘要(Abstract)

Code coverage as the primitive dynamic program behavior information, is widely adopted to facilitate a rich spectrum of software engineering tasks, such as testing, fuzzing, debugging, fault detection, reverse engineering, and program understanding. Thanks to the widespread applications, it is crucial to ensure the reliability of the code coverage profilers. Unfortunately, due to the lack of research attention and the existence of testing oracle problem, coverage profilers are far away from being tested sufficiently. Bugs are still regularly seen in the widely deployed profilers, like gcov and llvm-cov, along with gcc and llvm, respectively. This paper proposes Cod, an automated self-validator for effectively uncovering bugs in the coverage profilers. Starting from a test program (either from a compiler's test suite or generated randomly), Cod detects profiler bugs with zero false positive using a metamorphic relation in which the coverage statistics of that program and a mutated variant are bridged. We evaluated Cod over two of the most well-known code coverage profilers, namely gcov and llvm-cov. Within a four-month testing period, a total of 196 potential bugs (123 for gcov, 73 for llvm-cov) are found, among which 23 are confirmed by the developers.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5188,
  title = {Automatic Self-Validation for Code Coverage Profilers},
  author = {Yibiao Yang and Yanyan Jiang and Zhiqiang Zuo and Yang Wang and Hao Sun and Hongmin Lu and Yuming Zhou and Baowen Xu},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00018}
}