arXiv paper· software engineering (software security / repository mining)· method paper

TraceVIC: Causal Reasoning over Code Evolution for Identifying Vulnerability-Inducing Commits

Fnu Tanish, Samiha Shimmi, Samikshya Chapagain, Hamed Okhravi, Mona Rahimi, Lei Zhang

cs.SE · cs.AI

Quick verdict

Claims evolution-aware temporal-graph ranking beats SZZ for VIC identification (F2 0.820 vs 0.666); strong evaluation but no uncertainty estimates.

Summary

The paper addresses vulnerability-inducing commit (VIC) identification: given a vulnerability-fixing commit, find the earlier commit that introduced the vulnerable condition. SZZ-family tools use positional heuristics (most recent or earliest modification), which fail when the true VIC lies mid-history. TraceVIC instead models code evolution: it traces deleted (or, for addition-only fixes, anchor) lines backward, builds per-revision Code Property Graphs from Clang ASTs plus Joern control/data-flow edges, links corresponding nodes across revisions with temporal edges, and trains a two-stage pipeline (RankNet line ranking, then commit ranking via correspondence-aware attention pooling and a Transformer) on manually validated Linux kernel VICs. On 755 filtered kernel cases (5-fold cross-validation, pooled evaluation), TraceVIC@3 reaches F2 0.820 versus 0.666 for the best retrieval baseline (TSE-SZZ), and @1 F1 0.732 versus 0.695 for AgenticSZZ; ablations attribute most gains to multi-revision modeling (F2 0.637 to 0.814) rather than temporal edges alone (0.820). On 79 CVEs from four unseen C/C++ projects it identifies a valid VIC for 78/79 with F1 0.846 versus 0.700 for NeuralSZZ+B-SZZ, while running roughly 147-391x faster than LLM baselines. Limitations: no statistical uncertainty reporting, 33% of the original dataset excluded as untraceable, minor inconsistencies between abstract and table numbers, and C/C++-only evaluation.

Review complete

Assessment at a glance

software engineering (software security / repository mining)

4

risk flags identified

● high 0

● medium 2

● low 2

Reproducibility readinesshigh
Code & data availableyes
Review confidencehigh
AI text signal0/20 passages flagged
Deep research viable

5 strengths · 5 weaknesses · 5 author questions

AI text signal = Binoculars zero-shot detector score over 20 sampled passages (Fast-DetectGPT co-reported) — absence does not prove human authorship, and a flag does not imply misconduct.

Levels reflect verification complexity — not a quality score. Evolve never rates your paper.

Key claims under review

  • SZZ-family positional heuristics (latest or earliest modification) are structurally inadequate because the true vulnerability-inducing commit may occur anywhere in the traced history, as illustrated by CVE-2014-2309.
  • Modeling the full revision history is the primary source of TraceVIC's gains, raising F2 from 0.637 (single revision) to 0.814, with explicit cross-revision temporal edges adding a further recall-oriented improvement to 0.820.
  • At top-3 on 755 Linux kernel cases, TraceVIC improves F2 by 23.1%, 17.3%, and 28.7% over the strongest retrieval-based (TSE-SZZ), selection-based (LLM4SZZ), and ranking-based (NeuralSZZ+B-SZZ) baselines respectively.
  • Without retraining, TraceVIC transfers to four unseen C/C++ projects, identifying at least one valid VIC for 78 of 79 CVEs with overall F1 of 0.846 versus 0.700 for the strongest baseline (NeuralSZZ+B-SZZ).

Strengths

  • Well-motivated reformulation of the problem

    The contribution-based ranking formulation (Section 3, Eq. 4-5) is grounded in a concrete motivating case (CVE-2014-2309, Figure 1) where the true VIC 957c665 sits mid-chain, and the paper precisely characterizes why B-SZZ (latest) and V-SZZ (earliest) both fail there.

  • Comprehensive, category-appropriate baseline coverage

    Six retrieval-based SZZ variants (Table 2), five selection-based methods including three LLM systems (Table 4), and NeuralSZZ as a ranking baseline (Table 5), all run on the same 755-case pool; pooled rather than fold-averaged evaluation (Section 6.2) avoids fold-averaging artifacts.

  • Ablation cleanly localizes the source of gains

  • Addition-only fix handling is a genuine contribution

  • Complete artifact and cost reporting

Weaknesses

  • No statistical uncertainty anywhere

  • Heavy, pipeline-inherent dataset filtering

  • NeuralSZZ comparison depends on an author-devised adaptation

  • Internal number inconsistencies

  • Fold construction within the Linux kernel is unspecified

Full Review Report

$1.99 · one-time

Unlock the complete preliminary analysis Evolve produced for this paper.

Report preview

Scope & Claims

TraceVIC targets vulnerability-inducing commit (VIC) identification: given a vulnerability-fixing commit (VFC), rank prior commits by their contribution to the vulnerable condition. The authors argue that SZZ-family positional heuristics (B-SZZ = most recent modification, V-SZZ = earliest) are structurally wrong when the true VIC sits mid-history, illustrated with CVE-2014-2309 (Figure 1), where commit 957c665 introduced the flaw between the boundary commits both heuristics would pick. Central claims: (1) contribution-based ranking over code evolution beats positional selection; (2) full-history modeling drives the gains (ablation F2 0.637 to 0.814), with temporal edges adding recall (to 0.820); (3) at top-3, F2 improves 23.1%/17.3%/28.7% over the strongest retrieval-/selection-/ranking-based baselines on the Linux kernel benchmark; (4) 78/79 valid VICs on four unseen C/C++ projects. The tables broadly support these claims, subject to the caveats below.

The remaining sections cover Methodology Assessment, Statistical Evidence, Results & Reproducibility, Limitations & Risks, and Verdict & Recommendations.

  • All 5 strengths & 5 weaknesses, analyzed in detail
  • 4 risk flags with severity, section & reviewer questions
  • Methods & statistical evidence assessment
  • 5 questions a peer reviewer would ask
  • Full six-dimension evaluation report & recommendations

One-time purchase · this paper only

One-time purchase, this paper only. AI-generated preliminary analysis — not peer review.

Frequently asked questions

What is a vulnerability-inducing commit (VIC)?

It is the commit in a project's version history that introduced the code condition later repaired by a vulnerability-fixing commit. Because vulnerabilities often persist for years before discovery, the fixing commit rarely reveals the origin; VIC identification tools trace the changed lines backward through commit history to attribute where the vulnerability began.

How is TraceVIC different from SZZ and its variants?

SZZ-family tools attribute the VIC by position: B-SZZ picks the most recent modification of the vulnerable lines, V-SZZ the earliest. TraceVIC instead builds graphs of how the relevant code evolved across all revisions and ranks every candidate commit by its modeled contribution to the vulnerable condition, so a mid-history commit can be selected when it is the true origin.

What results does TraceVIC achieve?

On 755 manually validated Linux kernel vulnerabilities it reaches F2 of 0.820 at top-3 (best prior baseline 0.666) and F1 of 0.732 at top-1 (AgenticSZZ 0.695). On 79 CVEs from four unseen C/C++ projects it finds a valid VIC for 78 of them with F1 0.846, while running roughly 147 to 391 times faster than LLM-based baselines.

Is TraceVIC's code and data available?

Yes. The paper states that the full pipeline code, pre-trained model checkpoints, datasets, evaluation scripts, and configuration files are provided in an anonymous repository (anonymous.4open.science/r/TraceVIC), with instructions to reproduce all reported results.

About this review

This is an AI-generated preliminary review by Evolve.Pub, produced from the openly available text of the paper. It is not peer review and does not represent the authors' views. The canonical record of the paper is at the publisher link above.

  • Figures 1, 2, and 4 are only partially recoverable from the extracted text (code snippets garbled, chart embedded as raw labels); all tables and appendices A-I, however, appear fully present.
  • The anonymous repository was not inspected; artifact completeness is taken from the paper's Open Science statement.
  • Minor editorial inconsistencies (abstract vs Table 7 numbers; Appendix I counts) are reported as observed in the extracted text.

Go deeper on this paper

Reproduce ResultsNot feasible for this paper — the core results cannot be re-derived by sandboxed code simulation.

Wrote a paper? Stress-test it before reviewers do.

Upload your manuscript for the same structured scrutiny — reasoning, statistics, evidence, figures, and reproducibility.

Scan your paper
TraceVIC: Causal Reasoning over Code Evolution for Identifying Vulnerability-Inducing Commits | Evolve.Pub