TestMC: Testing Model Counters using Differential and Metamorphic Testing
Muhammad Usman, Wenxi Wang, Sarfraz Khurshid
摘要
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 couuters 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 couuters from three different classes. Specifically, we test the exact model counters projMC and dSharp, the probabilistic exact model couuter 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 offormulas 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. CCS CONCEPTS • Software and its engineering ---7 Software testing and debugging; Empirical software validation.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Metamorphic testing of Datalog enginesMuhammad Numair Mansur, Maria Christakis, Valentin WüstholzFSE 2021 · 被引用 25 次
- Perfect is the enemy of test oracleAli Reza Ibrahimzada, Yigit Varli, Dilara Tekinoglu, Reyhaneh JabbarvandFSE 2022 · 被引用 23 次
- Skeletal approximation enumeration for SMT solver testingPeisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi 等FSE 2021 · 被引用 20 次
- Dependency-Aware Metamorphic Testing of Datalog EnginesMuhammad Numair Mansur, Valentin Wüstholz, Maria ChristakisISSTA 2023 · 被引用 10 次
- SymMC: approximate model enumeration and counting using symmetry information for Alloy specificationsWenxi Wang, Yang Hu, Kenneth L. McMillan, Sarfraz KhurshidFSE 2022
它引用的顶会 Paper1
相关 Paper
- Rounding Meets Approximate Model CountingJiong Yang, Kuldeep S. MeelCAV 2023 · 被引用 8 次
- Towards Real-Time Approximate CountingYash Pote, Kuldeep S. Meel, Jiong YangAAAI 2025 · 被引用 3 次
- Formally Certified Approximate Model CountingYong Kiam Tan, Jiong Yang, Mate Soos, Magnus O. Myreen 等CAV 2024 · 被引用 1 次
- The Power of Literal Equivalence in Model CountingYong Lai, Kuldeep S. Meel, Roland H. C. YapAAAI 2021 · 被引用 19 次
- Interrogation Testing of Program Analyzers for Soundness and Precision IssuesDavid Kaindlstorfer, Anastasia Isychev, Valentin Wüstholz, Maria ChristakisASE 2024 · 被引用 2 次
