Use this before submission when the empirical story is not yet locked. TACAS reviewers are verification experts, and the evaluation is where a tool or algorithm is won or lost. The organizing principle is honest, reproducible comparison: the experiment must test the claim on shared benchmarks, against a fairly configured baseline, with every number reproducible in the artifact (mandatory for tool papers).
| Verification claim | Matching evidence | Reject pattern avoided |
|---|---|---|
| "Verifies more tasks than prior tools" | Solved counts on a shared benchmark set vs a tuned baseline, equal timeout | "Evaluated on our own examples only" |
| "Faster / more scalable" | Wall-clock and memory across realistic sizes, hardware stated | "Speedup ratio with no timeout or machine given" |
| "Finds real bugs" | Reproducible counterexamples/witnesses on real code, validated | "Warnings with no confirmed true positives" |
| "Sound (or sound up to k)" | Correctness argument + no incorrect verdicts on a validation set | "Fast because it silently under-approximates" |
| "General technique" | Multiple property classes / languages + stated limits | "One benchmark family, claimed universal" |
[Baseline] strongest competitor, latest version, cited; not a straw man
[Budget] identical timeout and memory limit for every tool; state them
[Hardware] one machine, described; note any parallelism and core counts
[Tasks] a named, shared benchmark set; report per-category, not just totals
[Validation] answers cross-checked / witnesses validated; incorrect results disclosed
[Determinism] fix seeds/options; report variance across repetitions where relevant
TACAS hosts SV-COMP, but a competition entry and a tool-paper evaluation are different deliverables — do not conflate them:
Suppose the paper claims a new checker verifies more C tasks than the prior tool. The matching plan: take a shared C benchmark set (with categories), run both tools with an identical timeout and memory limit on one stated machine, report per-category solved/unsolved and wall-clock, validate verdicts (cross-check disagreements, validate violation witnesses), disclose any wrong answers, state which property classes are out of scope, and ship a clean-VM artifact whose scripts regenerate every table.
[Evaluation readiness] strong / adequate / weak
[Claim -> evidence map] <claim: benchmark set / metric / baseline>
[Baseline fairness] <baseline -> latest? equal budget? same hardware? documented?>
[Soundness] <validation method; any incorrect results disclosed? yes/no>
[Reproducibility] <every number regenerates on the clean VM? yes/no>
[Decision-critical next run] <one experiment or validation to add>