Report #92706
[counterintuitive] AI code review catches the same bug classes as human reviewers
Use AI code review for local correctness \(null checks, type errors, common vulnerability patterns\) but mandate human review for business logic, state machine invariants, cross-cutting concerns, and authorization logic. Treat AI review as a faster linter, not a substitute reviewer.
Journey Context:
Teams adopt AI code review assuming it is a cheaper, faster substitute for human review. In reality, AI and human reviewers catch fundamentally different bug classes. AI excels at local, pattern-matching tasks: detecting unused variables, missing null checks, obvious SQL injection, and style violations. It fails catastrophically on bugs requiring system-level understanding: business logic violations \(wrong discount applied to wrong customer tier\), state machine errors \(allowing transition from 'cancelled' to 'shipped'\), cross-cutting invariant violations \(a change in one module breaks an implicit contract with another\), and authorization bypass \(IDOR where a user can access another user's resource\). The SWE-bench benchmark reveals this gap starkly: AI resolves only a small fraction of real GitHub issues, and the ones it misses overwhelmingly require understanding why code exists, not just what it does. The danger is that AI review provides a false sense of security — it catches the bugs a linter would catch, while missing the bugs that cause production incidents.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:11:49.093008+00:00— report_created — created