paperbot · PL 论文追踪

全部论文 待读 收藏

P2 TestMC

TestMC:模型计数器的差分与蜕变测试
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 3/10 · 该论文研究模型计数器(model counter)的测试与缺陷发现,属于形式化方法与约束求解基础设施,与程序分析/形式化验证有间接关联;但它不涉及 LLM/Agent、浮点程序分析、贝叶斯程序分析,也未将静态分析用于 ML/Agentic 程序,与用户核心研究方向匹配度较低。引用 9 inbox
Muhammad Usman, Wenxi Wang, Sarfraz Khurshid
crossref: 2026-09-12

AI 速览

一句话:提出 TestMC 框架,用差分/蜕变测试与有界穷举输入生成测试模型计数器,发现三个工具缺陷。

模型计数求有界公式解数,但现代计数器算法与启发式复杂,难以保证实现正确。本文是经验论文,提出 TestMC 框架,结合差分测试、蜕变测试、有界穷举输入生成与输入最小化来测试工业级模型计数器。作者用真实软件设计公式、TestMC 生成的小公式穷举集、CNF fuzzer 生成公式三类测试套件,测试 projMC、dSharp、Ganak、ApproxMC 四个工具。结果在三个工具中发现缺陷,导致崩溃、段错误、错误计数和资源耗尽;其中两个经报告后修复,第三个被认为无需修复。

问题
模型计数器实现复杂且高度优化,传统测试难以保证其正确性,需要有效的测试方法来发现工业级模型计数器中的缺陷。
方法
提出 TestMC 框架,将差分测试、蜕变测试与有界穷举输入生成、输入最小化结合,并设计三类互补的公式测试套件。
评估
对 projMC、dSharp、Ganak、ApproxMC 四个模型计数器进行实证评估,在三个工具中发现崩溃、段错误、错误计数和资源耗尽等缺陷,其中两个被修复。
原文摘要(Abstract)

Model counting is the problem for finding the number of solutions to a formula over a bounded universe. This is a classic problem in computer science that has seen many recent advances in techniques and tools that tackle it. These advances have led to applications of model counting in many domains, e.g., quantitative program analysis, reliability, and security. Given the sheer complexity of the underlying problem, today's model counters employ sophisticated algorithms and heuristics, which result in complex tools that must be heavily optimized. Therefore, establishing the correctness of implementations of model counters necessitates rigorous testing. This experience paper presents an empirical study on testing industrial strength model counters by applying the principles of differential and metamorphic testing together with bounded exhaustive input generation and input minimization. We embody these principles in the TestMC framework, and apply it to test four model counters, including three state-of-the-art model counters from three different classes. Specifically, we test the exact model counters projMC and dSharp, the probabilistic exact model counter Ganak, and the probabilistic approximate model counter ApproxMC. As subjects, we use three complementary test suites of input formulas. One suite consists of larger formulas that are derived from a wide range of real-world software design problems. The second suite consists of a bounded exhaustive set of small formulas that TestMC generated. The third suite consists of formulas generated using an off-the-shelf CNF fuzzer. TestMC found bugs in three of the four subject model counters. The bugs led to crashes, segmentation faults, incorrect model counts, and resource exhaustion by the solvers. Two of the tools were corrected subsequent to the bug reports we submitted based on our study, whereas the bugs we reported in the third tool were deemed by the tool authors to not require a fix.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5963,
  title = {TestMC},
  author = {Muhammad Usman and Wenxi Wang and Sarfraz Khurshid},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3416563}
}