Diff-XYZ : Un Benchmark pour l'Évaluation de la Compréhension des Diff
Diff-XYZ: A Benchmark for Evaluating Diff Understanding
October 14, 2025
papers.authors: Evgeniy Glukhov, Michele Conti, Egor Bogomolov, Yaroslav Golubev, Alexander Bezzubov
cs.AI
papers.abstract
La gestion fiable des différences de code est essentielle pour les agents qui modifient et restructurent des dépôts à grande échelle. Nous présentons Diff-XYZ, un benchmark compact pour la compréhension des différences de code avec trois tâches supervisées : application (ancien code + différence → nouveau code), anti-application (nouveau code - différence → ancien code) et génération de différences (nouveau code - ancien code → différence). Les instances du benchmark sont des triplets ⟨ancien code, nouveau code, différence⟩ extraits de commits réels de CommitPackFT, accompagnés de métriques automatiques et d'un protocole d'évaluation clair. Nous utilisons ce benchmark pour réaliser une étude empirique ciblée du format de différence unifié et effectuer une comparaison transversale des différentes représentations de différences. Nos résultats révèlent que différents formats doivent être utilisés selon le cas d'usage et la taille du modèle. Par exemple, la représentation des différences en format recherche-remplacement convient bien aux modèles plus volumineux dans le scénario de génération de différences, mais n'est pas adaptée à l'analyse des différences et aux modèles plus petits. Le benchmark Diff-XYZ constitue une base réutilisable pour évaluer et améliorer le traitement des différences dans les LLM, pouvant faciliter le développement futur de formats de différence et de modèles modifiant du code. Le jeu de données est publié sur le 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.