ChatPaper.aiChatPaper

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.
PDF82December 2, 2025