Skip to content
Try CosmosGet Started
Back to Guides

How Accurate Is AI Code Review? False Positives, Recall, and Trust

Sep 8, 2026
Molisha Shah
Molisha Shah
How Accurate Is AI Code Review? False Positives, Recall, and Trust

Engineering teams should choose the AI code review accuracy metric that matches the review gate's purpose because thresholds and review modes produce different precision and recall profiles.

TL;DR

False positives consume reviewer time and eventually teach teams to ignore real findings. Precision matters most when a reviewer can block a merge; recall matters more in an advisory stream built to widen coverage. Teams should evaluate both metrics on their own pull requests because benchmark scores depend on each corpus and golden set.

An AI reviewer flags a null check on a value the calling service has already validated. The author explains why, the tech lead agrees, and they dismiss the comment. After eleven similar comments, the team makes the bot non-blocking and stops reading its threads. The next week the bot flags a real pagination error, and nobody opens the thread.

This guide is for individual contributors, engineering managers, platform teams, and executive buyers deciding whether an AI reviewer belongs in the pipeline and where it should sit. It covers what accuracy means for this tool class, what published figures measure, what a false positive costs, and how to judge a reviewer on a team's own pull requests (PRs). The companion benchmark measures precision-recall results by tool; this guide focuses on the gap between a reviewer that scores well and one a team still reads.

What AI Code Review Accuracy Means for a Reviewer

Accuracy for an AI code reviewer consists of three measurements against a golden set of comments that benchmark authors treat as the comments a pull request deserved. Each measurement answers a different question. Precision is the share of the reviewer's comments that match a golden comment; it shows whether a reader can trust a comment when one appears. Recall is the share of golden comments the reviewer produced; it shows how much of the human panel's expected feedback the reviewer supplied. The F1 score (F1), also called F-score, is the harmonic mean of the two, which weights the lower figure more heavily.

F1 combines precision and recall without identifying which of the two is weaker. Benchmark authors build golden sets differently, using sources such as mined pull request comments or injected defects. That construction changes what the ratios describe. Teams therefore cannot report accuracy for this tool class as one number. Vendors and readers often collapse the measurements into "accuracy," which hides which side of the profile produced a figure.

DimensionPrecisionRecallF1 score
Question answeredOf the comments posted, how many were rightOf the real issues, how many were flaggedHow balanced were the two
DenominatorAll comments the reviewer postedAll golden comments in the setNone; computed from both
Cost of a low valueReviewers read noiseDefects pass unseenThe weak side stays hidden
Gate or use that cares mostBlocking merge checkAdvisory comment streamCross-tool rankings
What the figure does not reportWhat the reviewer missedHow much noise came with the catchesWhich side dragged it down

Why False Positives Erode Trust

False positives impose a repeated attention cost whether or not the flagged code fails. Missed defects create different costs based on failure probability and severity, so no universal cost ordering applies. Each wrong comment forces someone to read it and reconstruct why it is wrong before replying or dismissing it. A RevMate preprint on deployments at Mozilla and Ubisoft reports a median of 42.9 seconds per patch spent reading generated comments. Reviewers accepted 8.1% of comments at Mozilla and 7.2% at Ubisoft, and 24 of 37 surveyed reviewers said review duration increased.

After enough dismissals, readers stop reconstructing and start skipping. The reviewer's real finding then reaches an audience that has already left. Google's Tricorder program kept an analyzer in code review only while its effective false positive rate stayed under 10%. Once an analyzer's ratio of "Not useful" to "Please fix" clicks crossed that line, a 2018 Communications of the ACM paper records that Google disabled it until its authors improved it. The Coverity team reported in 2010 that in its experience a false positive rate above 30% easily causes problems, and that people then ignore the tool. Both thresholds predate today's generative reviewers and describe the same mechanism. Stack Overflow's 2025 developer survey found that 46% of developers distrust the accuracy of AI tool output against 33% who trust it. The largest single frustration, named by 66% of them, was output that is almost right but not quite.

What AI Reviewers Catch Reliably and What They Miss

Large language model (LLM) reviewers are strongest on defects visible inside the diff. They are weakest when correctness depends on external code or intent. An Atlassian study accepted to ASE 2025 found that on Atlassian's own internal projects 18.2% of the LLM reviewer's comments were bug-related against 6.5% of human reviewers' comments. Design comments had the lowest resolution rate of any category, at 28.6%.

For vulnerability classes, the International Conference on Software Testing, Verification and Validation (ICST) 2025 comparison tested 16 LLMs against CodeQL across 5,000 samples. LLMs led on Common Weakness Enumeration (CWE) classes for path traversal (CWE-22), operating system command injection (CWE-78), null pointer dereference (CWE-476), and use after free (CWE-416) on at least two of three datasets. CodeQL led on integer overflow (CWE-190).

The misses cluster where context leaves the file. The same ICST paper reports that no LLM scored well on missing authorization (CWE-862), because calling code or an authorization service decides whether a parameter has authorization outside the reviewed method. GitHub documents both halves of that boundary in its Copilot agent limitations. Copilot may not identify every problem present in code, especially where changes are large or complex, and it may flag problems that do not exist.

Where a Hallucinated Review Comment Comes From

A hallucinated review comment makes a confident claim about code behavior the model could not verify. The gaps that produce it follow from what the reviewer can access. The reviewer sees a diff plus whatever retrieval supplies, and a CodeRabbit field study from July 2026 traced 10.3% of false positive cases to missing visibility into other files.

The reviewer has no runtime, so it cannot confirm whether a branch is reachable or whether a value can be null at that point. It has limited evidence of author intent beyond the PR description. A 2025 evaluation of GPT-4o and Gemini 2.0 Flash on 492 code blocks found that up to 24.80% of correct blocks drew incorrect suggestions, and that the rate roughly doubled without a problem description. A reader can recognize a hallucination when the comment invents a constraint absent from the codebase or describes a failure path the code cannot reach. An existing test already covering the requested fix is another signal.

The Gate Decides Which Metric Matters

A blocking merge gate and an advisory comment stream need different tuning. A team that puts the same reviewer in the wrong one will read it as broken. Behind a required status check, every false positive stops a merge and pulls a human into the override. Precision decides whether the gate stays enabled. In an advisory stream, a human can skim wrong comments, while missed defects reduce the stream's coverage. Recall therefore determines more of the stream's value.

The CR-Bench preprint shows how review modes change the metric profile. Its authors built a corpus of 584 pull request instances from SWE-Bench, then ran GPT-5.2 through it twice. Adding a Reflexion loop raised recall from 27.01% to 32.76%, and the signal-to-noise ratio fell from 5.11 to 1.95 in the same run. The reviewer got more thorough and noisier at once. Reflexion scored higher on recall and precision, with a higher F1; single-shot scored higher on usefulness and signal-to-noise ratio.

GitHub Copilot leaves a Comment review by default. Those reviews do not count toward a pull request's required approvals unless a team configures Copilot to approve. GitLab documents a pre-scan context cap of roughly 1 MiB on its agentic code review flow, and says a very large merge request can lose the context that truncation drops. That cap creates a recall ceiling that matters more behind a gate than in a stream. Teams often create the failure they call inaccuracy by wiring a recall-tuned reviewer as a required check or expecting a precision-tuned advisory reviewer to catch everything. Moving the reviewer or changing its mode addresses that placement error.

How Review Architecture Sets the Precision Profile

System designers establish much of a tool's precision and recall profile through the review architecture before they tune a prompt or threshold. Sound static analyses over-approximate: they avoid false negatives for the properties they model and accept false positives as the cost of that guarantee. A pattern-matching scanner such as Semgrep documents its own determinism in those terms: given the same code, the same rules and the same analyses, it returns the same findings.

Static analysis pays for that reproducibility with bounded scope. In a study of 170 real vulnerable Java commits, four static application security testing (SAST) tools together detected 38.8% of them. Every tool detected zero race conditions (CWE-362) and zero infinite loops (CWE-835).

A generative reviewer samples from a probability distribution over text. It can reason about intent and cross-file behavior that no rule encodes, but it can also assert false claims. One preprint ran four LLMs five times over the same 70 Java commits at temperature 0 and got a different answer each round. On the maintainability question the consistency score came to 0.53 for GPT-4o mini against 0.85 for Claude 3.5 Sonnet. Prompt framing changes the profile as well. A March 2026 preprint found that framing a change as bug-free cut vulnerability detection by 16.2 to 93.5 percentage points across five of the six models tested, with Claude Opus 4.5 the one model that held.

The 250 hand-crafted C programs in CASTLE 2025 show how the architectures differ in scope and failure mode, including determinism.

DimensionDeterministic static analysisGenerative LLM review
Scope of findingsEncoded rules onlyAnything the model can describe
Main false positive driverOver-approximationHallucination and prompt framing
DeterminismIdentical output per input and versionVaries across runs
Novel defects foundNone outside the rule setYes, unverified
Measured detection result (corpus)CodeQL: 48% precision, 29% recall on 250 hand-crafted C programsGPT-o3 Mini: 63% precision, 78% recall on the same 250 programs

A hybrid architecture pairs the two approaches. The IRIS hybrid study, which the International Conference on Learning Representations (ICLR) 2025 presented, ran CodeQL with GPT-4 on CWE-Bench-Java and validated 55 of 120 Java vulnerabilities against CodeQL's 27. Architecture also fixes how much of a repository a reviewer sees, which is where the diff-local misses come from. Cosmos, Augment Code's unified cloud agents platform available on all paid plans, gives a review Expert an Environment carrying the repositories a change touches, so a caller two files away sits inside its scope.

Reading a Published Benchmark Without Being Misled

Readers misinterpret a benchmark when they omit a metric's definition or its benchmark context. The required context includes the metric name and denominator, plus the corpus and snapshot date. A vendor publishing its own benchmark leads with the metric it wins on. Augment Code's own seven-tool benchmark from December 11, 2025, reports Augment Code Review at a 59% F-score, from 65% precision and 55% recall, after Augment expanded and corrected the public dataset's golden comment set before scoring against it. The figure is first-party evidence measured on a golden set its own publisher curated.

The same standard applies to every vendor. A July 2026 preprint on 31,073 CodeRabbit comments across 239 repositories found that developers rejected 56.3% of agentic reviews, and that false positives were the single largest reason they gave.

Corpus design often affects interpretation more than corpus size. One preprint ran five models against synthetic mutation bugs and against real bug-fix pull requests on the same harness. The best of them scored F1 0.847 on the synthetic set and 0.066 on the real one. The SWE-PRBench corpus builds its golden set from unmodified human review comments on 350 merged pull requests across 65 repositories and six languages. Given the diff alone, eight frontier models found between 15% and 31% of what the humans had flagged.

Every offline corpus, curated or mined, still contains someone else's code. Cosmos runs review Experts against a team's own pull requests, which puts the measurement on the code the team ships. A GitHub trigger starts a Cosmos Session from a pull request event, and that Session is saved indefinitely and can be reopened, which is what makes the record auditable a quarter later.

Where AI Review Fits Beside Human Review, and How to Judge It on Your Own Codebase

An AI reviewer earns the first pass on classes it catches reliably. Human reviewers retain design work, where Atlassian measured a 28.6% resolution rate on design comments, and authorization logic, where no LLM in the ICST 2025 comparison handled missing authorization (CWE-862). Diff-local work includes null and bounds checks, error-handling paths, test gaps, and the vulnerability classes where LLMs led CodeQL. Human review remains necessary when correctness depends on requirements or business rules outside the repository. Version 4.0.1 of the Open Worldwide Application Security Project's Application Security Verification Standard states that business logic flaws and access control testing are only possible with human assistance.

Open source
augmentcode/augment-swebench-agent883
Star on GitHub

In Cosmos, the Deep Reviewer Expert takes the first review pass on a PR, while the Risk Analyzer Expert handles risk analysis. Each runs in its own Cosmos Environment. The Cosmos Session record preserves Deep Reviewer's findings and the author's replies, so teams can count acceptance later instead of reconstructing it from memory.

Within Cosmos, teams can judge the reviewer on their own codebase without building a golden set by using Session records to track a small set of observations.

  • Count the share of comments that lead to a code change on the flagged line or a filed ticket.
  • Track accepted against dismissed comments per PR, since the same acceptance rate means something different at two comments and at ten.
  • Count escaped defects downstream, and read them beside change failure rate. In the DevOps Research and Assessment (DORA) 2025 survey, the largest single change failure band was 8% to 16%, reported by 26% of respondents.
  • Divide comments by lines changed; the April 2026 study above measured Claude Haiku 4.5's F1 falling from 0.800 on its ten 10-to-50-line diffs to 0.043 on its fourteen 150-to-600-line diffs.

These observations connect comment quality to review volume and downstream outcomes. Platform teams should read all four together, because acceptance on its own does not measure accuracy.

Evaluation goes wrong in three recurring ways, and each has a correction.

  • Read a 65% precision figure beside the recall it shipped with instead of trusting one metric.
  • If a required check stalls merges on overrides, retune it for precision or make it advisory.
  • Use Augment's benchmark to shortlist, then replace it with a month of the team's own Cosmos Sessions rather than treating a vendor number as ground truth.

These corrections cost less than a vendor switch and produce evidence from the codebase itself.

What to Do Next

Run the reviewer in one role for one month, as either a precision-tuned merge gate or a recall-tuned advisory stream, and record accepted comments plus escaped defects for every pull request before deciding whether to keep that placement.

Frequently Asked Questions

Written by

Molisha Shah

Molisha Shah

Molisha is an early GTM and Customer Champion at Augment Code, where she focuses on helping developers understand and adopt modern AI coding practices. She writes about clean code principles, agentic development environments, and how teams are restructuring their workflows around AI agents. She holds a degree in Business and Cognitive Science from UC Berkeley.


Get Started

Give your codebase the agents it deserves

Install Augment to get started. Works with codebases of any size, from side projects to enterprise monorepos.