Diff-XYZ: Een benchmark voor het evalueren van diff-begrip
Diff-XYZ: A Benchmark for Evaluating Diff Understanding
October 14, 2025
Auteurs: Evgeniy Glukhov, Michele Conti, Egor Bogomolov, Yaroslav Golubev, Alexander Bezzubov
cs.AI
Samenvatting
Betrouwbare verwerking van codeverschillen (diffs) is cruciaal voor agents die repositories op grote schaal bewerken en refactoren. Wij introduceren Diff-XYZ, een compacte benchmark voor het begrijpen van codeverschillen met drie begeleide taken: *apply* (oude code + diff → nieuwe code), *anti-apply* (nieuwe code - diff → oude code) en *diff-generatie* (nieuwe code - oude code → diff). Instanties in de benchmark zijn triples ⟨oude code, nieuwe code, diff⟩ afkomstig uit echte commits in CommitPackFT, voorzien van automatische metrieken en een duidelijk evaluatieprotocol. Wij gebruiken de benchmark voor een gerichte empirische studie naar het unified diff-formaat en voeren een cross-format vergelijking uit van verschillende diff-representaties. Onze bevindingen tonen aan dat afhankelijk van de use case en modelgrootte verschillende formaten gebruikt moeten worden. Zo is het representeren van diffs in search-replace-formaat geschikt voor grotere modellen in het diff-generatiescenario, maar minder geschikt voor diff-analyse en kleinere modellen. De Diff-XYZ benchmark is een herbruikbare basis voor het beoordelen en verbeteren van diff-verwerking in LLM's, die toekomstige ontwikkeling van diff-formaten en modellen voor codebewerking kan ondersteunen. De dataset is gepubliceerd op de 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.