SMT2Test: From SMT Formulas to Effective Test Cases
summary
SMT2Test transforms SMT formulas into executable programs (Dafny and C via an intermediate representation) and encodes satisfiability as a reachability assertion so SMT solver responses serve as test oracles. The implementation uses SMT competition benchmarks and SMT-fuzzer seeds (Z3/CVC5 style solvers) and reports 14 previously unknown defects, with 6 fixed after reporting. The tool uncovers both deep soundness bugs and rewriting errors, validating verifiers like Dafny and CPAchecker.
AI-written summary · about
chapters (6)
- 0:00Test case generation with SMT
- 3:09SMT to test case challenges
- 7:24SMT to program conversion
- 9:51Evaluating verifiers and bugs
- 13:27Summary and future of SMT2Test
- 15:13Q&A on false positives
related talks
17mDafny Test Generation
21mBounded-Exhaustive Subspace Diversification for SMT Solver Testing
46mIntroduction to Formal Verification with Symbiotic EDA Open Source Tools
16mSoftware Model Checking via Summary-Guided Search
20mBeyond Fuzzing Symbolic Testing in Practice
16mRandomised Testing of the Dafny Compiler
23mHUSTEF 2014 - Stephan Schulz
30mGenerating Conforming Programs With Xsmith
