Diff-XYZ: Eine Benchmark zur Bewertung des Diff-Verständnisses
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
Zuverlässige Verarbeitung von Code-Diffs ist zentral für Agenten, die Repositorys in großem Maßstab bearbeiten und refaktorisieren. Wir stellen Diff-XYZ vor, einen kompakten Benchmark zum Verständnis von Code-Diffs mit drei überwachten Aufgaben: Apply (alter Code + Diff → neuer Code), Anti-Apply (neuer Code – Diff → alter Code) und Diff-Generierung (neuer Code – alter Code → Diff). Die Instanzen im Benchmark sind Tripel ⟨alter Code, neuer Code, Diff⟩, die aus echten Commits in CommitPackFT stammen und mit automatischen Metriken sowie einem klaren Evaluierungsprotokoll versehen sind. Wir nutzen den Benchmark für eine fokussierte empirische Studie des Unified-Diff-Formats und führen einen formatübergreifenden Vergleich verschiedener Diff-Repräsentationen durch. Unsere Ergebnisse zeigen, dass je nach Anwendungsfall und Modellgröße unterschiedliche Formate verwendet werden sollten. Beispielsweise eignet sich die Darstellung von Diffs im Search-Replace-Format gut für größere Modelle im Diff-Generierungsszenario, ist jedoch für Diff-Analyse und kleinere Modelle weniger geeignet. Der Diff-XYZ-Benchmark bildet eine wiederverwendbare Grundlage zur Bewertung und Verbesserung der Diff-Verarbeitung in LLMs, die die zukünftige Entwicklung von Diff-Formaten und codebearbeitenden Modellen unterstützen kann. Der Datensatz ist auf dem HuggingFace Hub veröffentlicht: 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.