Code review is essential for maintaining software repositories by identifying defects, improving code quality, and supporting reliable software evolution. With the growing adoption of LLM-based coding agents, an increasing number of code contributions and repository changes are generated by these agents. Consequently, LLM-based code review agents are becoming increasingly prevalent to evaluate these contributions and maintain software quality. However, LLM reviewers often generate lengthy reviews containing numerous potential issues, many of which are false positives or lack sufficient evidence. These unreliable reviews can mislead developers and downstream coding agents, motivating the need to distinguish actionable findings from unsupported claims. We propose CIVER, a causal intervention-based framework that identifies the core issues underlying code-review findings and distinguishes genuine defects from false positives. CIVER integrates three modules: a review module assesses findings, an intervention module generates repair-oriented perturbations, and a verifier module scores review reliability. Through joint optimization via expert iteration, the three modules identify genuine defects by responding to targeted repairs while remaining stable under unrelated changes. Extensive experiments on SWE-Review-Bench demonstrate that CIVER correctly identifies 77% of genuine defects through targeted repairs. Cross-project and downstream repair evaluations further demonstrate that CIVER generalizes across repositories and improves coding agents' task success rates, highlighting its effectiveness for reliable automated code review.
Figures & tables
Figure 1. Overview of CIVER . (a) A frozen LLM reviewer generates code reviews, which are transformed into candidate critiques by the review module. (b) The intervention module selects relevant code modifications, including targeted repairs and unrelated perturbations. (c) The verifier module evaluates review reliability by comparing scores across original and modified program states. The three modules are jointly optimized through expert iteration to distinguish genuine defects from false positives, while pretrained models remain frozen. A three-module code-review pipeline with a review module F-theta, an intervention module R-phi and a verifier module G-psi. Frozen components supply critiques, encodings and edit proposals. Shared critique scoring compares original, target-repaired, unrelated-repaired and mapped transformed states; the verifier aggregates the responses and selects final findings. Backward learning paths connect all three modules.
Method
Review generation
Review checking
Empirical validation
Code intervention
Paired learning
Unrelated-edit control
OpenCodeReview ( Li et al., 2026 )
✓
✓
✗
✗
✗
✗
Refute-or-Promote ( Agarwal, 2026 )
✓
✓
✓
✗
✗
✗
Adversarial Review ( Qiu and Gill, 2026 )
✓
✓
✗
✗
✗
✗
Fix-guided Filter ( Jin and Chen, 2026 )
✗
✓
✓
✓
✗
✗
SGCR ( Wang et al., 2025 )
✓
✓
✗
✗
✗
✗
VISION ( Egea et al., 2025 )
✗
✗
✗
✓
✓
✗
Table 1. Comparison of code-review verification methods. ✓ indicates an explicitly supported component; ✗ indicates that the component is not part of the stated method.
Method
Acc. ↑
Prec. ↑
Rec. ↑
F1 ↑
AUROC ↑
AP ↑
LLM-as-a-judge ( Naik et al., 2025 )
0.61
0.26
0.72
0.38
0.67
0.26
BERTScore ( Zhang et al., 2020 )
0.39
0.17
0.65
0.26
0.47
0.16
chrF++ ( Popović, 2017 )
0.65
0.23
0.44
0.30
0.58
0.22
Always-negative
0.83
0.00
0.00
0.00
0.50
0.17
CIVER
0.76
0.31
0.74
0.43
0.72
0.36
Table 2. Review quality evaluation on CRScore . Acc., Prec., Rec., F1, AUROC, and AP denote accuracy, precision, recall, F1 score, area under the receiver operating characteristic curve, and average precision, respectively.
Method
Acc. ↑
Prec. ↑
Rec. ↑
F1 ↑
AUROC ↑
AP ↑
FP/PR ↓
Subset 1
Frozen Reviewer
0.50
0.42
0.60
0.50
0.53
0.43
0.34
LLM-as-a-judge ( Zheng et al., 2023 )
0.49
0.32
0.48
0.38
0.53
0.35
0.43
CIVER
0.54
0.48
0.84
0.61
0.57
0.42
0.42
Subset 2
Frozen Reviewer
0.53
0.36
0.71
0.48
0.62
0.39
0.49
Table 3. Cross-repository evaluation on SWE-PRBench . FP/PR denotes false positives per PR.
Project
Base
CIVER
Django
0.50
0.73
SymPy
0.50
0.76
scikit-learn
0.50
0.67
Table 4. Cross-project generalization on held-out repositories. Base denotes the base reviewer. Performance is measured using Pair AUROC.
Method
AUROC ↑
Verdict ↑
Loc. Acc. ↑
FP Reduction ↑
MLP
0.64
0.95
0.98
0.03
Invariance-Only
0.64
0.86
0.94
0.04
CIVER (full)
0.67
1.00
0.99
0.16
Table 5. Consistency Evaluation under Code Transformations. Verdict denotes verdict agreement, Loc. Acc. denotes location accuracy, and FP Reduction denotes the false-positive reduction rate.
Guidance
Resolve ↑
Resolve Δ↑
No Review
0.61
0.00
False Review
0.53
-0.08
CIVER (True Review)
0.93
0.32
Table 6. Downstream repair with review guidance. Resolve denotes the final repair success rate, and Resolve Δ denotes the difference in resolution rate relative to No Review.
Variant
PairAcc ↑
Pair AUROC ↑
Δtarget↑
Classification Only (Eq. 9 )
0.50
0.50
-0.01
− Target-Response Loss (Eq. 10 )
0.38
0.48
0.00
− Causal Specificity (Eq. 11 )
0.71
0.72
1.17
− Intervention Ranking (Eq. 13 )
0.43
0.51
0.33
− Intervention Minimality (Eq. 14 )
0.79
0.79
1.12
− Structured Equivariance (Eq. 12 )
0.51
0.61
0.38
Table 7. Ablation study of training objectives. PairAcc denotes pairwise accuracy, Pair AUROC denotes pairwise AUROC, and Δtarget denotes the mean reduction in review-finding-validity logits.
Method
AUROC ↑
Prec. ↑
Rec. ↑
F1 ↑
FP/PR ↓
FP/pos ↓
FP/PR ↓≥70% R
FP/pos ↓≥70% R
Comm./PR ↓
Frozen Reviewer (Base)
0.57
0.72
0.58
0.64
2.14
0.23
3.18
0.33
7.6
Self-Reflection ( Madaan et al., 2023 )
0.56
0.70
0.59
0.64
2.39
0.25
3.20
0.34
8.0
LLM Verifier ( Li et al., 2026 )
0.58
0.73
0.55
0.63
1.92
0.20
2.73
0.29
7.2
Fix-Guided Prompt ( Jin and Chen, 2026 )
0.57
0.73
0.54
0.62
1.92
0.20
4.04
0.42
7.1
CIVER
0.60
0.77
0.57
0.65
1.65
0.17
2.69
0.28
6.0
Table 8. Review evaluation on AACR-Bench . FP/PR and FP/pos report false positives per PR and positive finding; Comm./PR denotes review volume. Arrows indicate whether higher ( ↑ ) or lower ( ↓ ) values are better. The best result in each column is bold .
Top-1 ↑
Recall@5 ↑
MRR ↑
Method
K=4
K=8
K=16
K=4
K=8
K=16
K=4
K=8
K=16
Random
0.20
0.11
0.06
1.00
0.56
0.29
0.46
0.31
0.20
Frozen Cosine
0.25
0.16
0.10
1.00
0.52
0.30
0.46
0.34
0.23
Without Specificity
0.23
0.11
0.08
1.00
0.56
0.28
0.47
0.32
0.22
CIVER (full)
0.43
0.22
0.17
1.00
0.66
0.46
0.60
0.40
0.32
Table 9. Retrieval of critique-associated code edits. Each query contains one target edit and K=4/8/16 distractors. Top-1, Recall@5, and MRR measure retrieval accuracy.
Method
Python
C
C#
C++
Go
Java
JS
PHP
Rust
TS
Non-Python Pooled
Base Reviewer
0.45
0.54
0.79
0.53
0.63
0.60
0.44
0.59
0.38
0.46
0.55
CIVER
0.65
0.56
0.56
0.56
0.55
0.66
0.59
0.75
0.63
0.55
0.60
Δ
+0.20
+0.02
-0.23
+0.03
-0.08
+0.06
+0.15
+0.16
+0.25
+0.09
+0.05
Table 10. Cross-language evaluation on AACR-Bench . Performance is measured using AUROC. Δ denotes the AUROC difference between CIVER and the Base Reviewer. JS and TS denote JavaScript and TypeScript, respectively.
Benchmark
PairAcc
Pair AUROC
Real Edit
FP Edit
AUROC
Baseline AUROC
SWE-Review-Bench ( Wang et al., 2026 )
0.89
0.92
4.17
0.45
0.98
0.97
AACR-Bench ( Zhang et al., 2026a )
0.76
0.84
3.34
1.13
0.60
0.57
SWE-PRBench ( Kumar, 2026 )
0.43
0.64
3.71
2.00
0.67
0.62
CodeReviewBench ( Kodus, 2026 )
0.86
0.93
5.00
1.56
0.83
0.81
Table 11. Applicability of CIVER across code review benchmarks. PairAcc and Pair AUROC measure pairwise discrimination. Real Edit and FP Edit denote mean edit sizes for valid and false-positive findings, respectively. AUROC measures review finding validity classification. The best AUROC in each benchmark is bold .