At SODA, "reproducibility" is not seeds and GPUs — it is whether a competent reader can re-derive every claim from the submitted document. Because SODA takes full versions with no page limit (2027 CFP, checked 2026-07-08), there is no "details omitted" escape hatch: the community's expectation is that the PDF on HotCRP contains a complete, checkable argument. This skill is the audit for that standard.
Build a table with one row per claim before the July deadline. It doubles as the
rebuttal-preparation ledger in September (soda-author-response).
| Column | What goes in it |
|---|---|
| Claim | Theorem/lemma/corollary number and one-line statement |
| Model | Computation model and input assumptions (RAM model? adversary? degree bounds?) |
| Proof location | Section and page of the complete proof — "sketch only" is a red flag |
| External results used | Exact citation with theorem number, plus where hypotheses are checked |
| Constants | Hidden-constant status: explicit / bounded / genuinely unbounded |
| Checked by | Coauthor who verified the proof without having written it |
Every row must close before submission. The last column is the single most valuable ritual an algorithms group can institutionalize: author-blind proof checking catches the drift bugs that referees otherwise find in August.
O(m log n), the proof delivers
O(m log^2 n) after a late edit. Mechanically re-derive the final bound from
the final proof, not from memory.The randomness-accounting failure deserves its own drill because it compounds silently. Keep a single budget table in the source comments and make every "w.h.p." claim draw from it:
% Failure-probability budget for Theorem 2 (target: n^{-2} overall)
% E1: sampling lemma (Lemma 3.1), invoked <= n times ... n * n^{-4}
% E2: hash collision (Lemma 3.4), invoked once ... n^{-3}
% E3: concentration (Lemma 4.2), invoked <= log n ... log n * n^{-4}
% Union bound: n^{-3} + o(n^{-3}) <= n^{-2} for n >= n_0 (state n_0!)
Audit questions the table forces: does each lemma's stated exponent survive
its actual invocation count in the final proof (invocation counts drift when
algorithms get restructured)? Is the constant n_0 stated anywhere? Does the
theorem statement promise the same exponent the budget delivers? A referee who
finds one unbudgeted invocation will re-check every probabilistic step in the
paper — the budget table is cheap insurance against that spiral.
When part of the argument is computational (exhaustive search over configurations, extremal-object certificates, verified constants), the reproducibility bar is a rerunnable check, not a claim of one:
# The paper should let a referee do exactly this:
git clone <anonymous-archive-url> && cd verification
python3 check.py # deterministic; prints per-case status
echo $? # 0 iff every case verified
State in the paper the case count, total runtime on commodity hardware, and the
reduction proving that check.py succeeding implies the lemma. See
soda-artifact-evaluation for packaging and anonymity.
The arXiv full version is the community's long-term verification record — SODA
proceedings versions are often condensations (soda-camera-ready). Discipline:
[Verifiability verdict] Checkable / Gaps found / Not checkable
[Ledger gaps] <claims lacking proof location, blind check, or model statement>
[Drift findings] <statement-proof or cross-version mismatches>
[Import findings] <external results with unverified hypotheses>
[Computation findings] <uncertified machine-checked steps>
[Fix order] <ranked repairs before the July deadline>