ChatPaper.aiChatPaper

Diff-XYZ: Un Benchmark per la Valutazione della Comprensione dei Diff

Diff-XYZ: A Benchmark for Evaluating Diff Understanding

October 14, 2025
Autori: Evgeniy Glukhov, Michele Conti, Egor Bogomolov, Yaroslav Golubev, Alexander Bezzubov
cs.AI

Abstract

La gestione affidabile dei diff di codice è fondamentale per gli agenti che modificano e refattorizzano repository su larga scala. Presentiamo Diff-XYZ, un benchmark compatto per la comprensione dei diff di codice con tre task supervisionati: applicazione (codice vecchio + diff → codice nuovo), anti-applicazione (codice nuovo - diff → codice vecchio) e generazione di diff (codice nuovo - codice vecchio → diff). Le istanze nel benchmark sono triple ⟨codice vecchio, codice nuovo, diff⟩ estratte da commit reali in CommitPackFT, abbinate a metriche automatiche e un protocollo di valutazione chiaro. Utilizziamo il benchmark per condurre uno studio empirico mirato sul formato unified diff ed eseguire un confronto incrociato tra diverse rappresentazioni di diff. I nostri risultati rivelano che diversi formati dovrebbero essere utilizzati in base al caso d'uso e alla dimensione del modello. Ad esempio, rappresentare i diff in formato search-replace è efficace per modelli più grandi nello scenario di generazione di diff, ma non si adatta bene all'analisi dei diff e a modelli più piccoli. Il benchmark Diff-XYZ è una base riutilizzabile per valutare e migliorare la gestione dei diff negli LLM che può favorire lo sviluppo futuro di formati di diff e modelli per la modifica del codice. Il dataset è pubblicato su HuggingFace Hub: https://huggingface.co/datasets/JetBrains-Research/diff-xyz.
English
Reliable handling of code diffs is central to agents that edit and refactor repositories at scale. We introduce Diff-XYZ, a compact benchmark for code-diff understanding with three supervised tasks: apply (old code + diff rightarrow new code), anti-apply (new code - diff rightarrow old code), and diff generation (new code - old code rightarrow diff). Instances in the benchmark are triples langle old code, new code, diff rangle drawn from real commits in CommitPackFT, paired with automatic metrics and a clear evaluation protocol. We use the benchmark to do a focused empirical study of the unified diff format and run a cross-format comparison of different diff representations. Our findings reveal that different formats should be used depending on the use case and model size. For example, representing diffs in search-replace format is good for larger models in the diff generation scenario, yet not suited well for diff analysis and smaller models. The Diff-XYZ benchmark is a reusable foundation for assessing and improving diff handling in LLMs that can aid future development of diff formats and models editing code. The dataset is published on HuggingFace Hub: https://huggingface.co/datasets/JetBrains-Research/diff-xyz.
PDF82December 2, 2025