M2rc-Eval: Umfassende mehrsprachige Code-Vervollständigung auf Repository-Ebene - Evaluierung
M2rc-Eval: Massively Multilingual Repository-level Code Completion Evaluation
October 28, 2024
Autoren: Jiaheng Liu, Ken Deng, Congnan Liu, Jian Yang, Shukai Liu, He Zhu, Peng Zhao, Linzheng Chai, Yanan Wu, Ke Jin, Ge Zhang, Zekun Wang, Guoan Zhang, Bangyu Xiang, Wenbo Su, Bo Zheng
cs.AI
Zusammenfassung
Die Code-Vervollständigung auf Repository-Ebene hat in der Softwareentwicklung große Aufmerksamkeit erregt, und mehrere Benchmark-Datensätze wurden eingeführt. Allerdings konzentrieren sich bestehende Benchmark-Datensätze zur Code-Vervollständigung auf Repository-Ebene normalerweise auf eine begrenzte Anzahl von Sprachen (<5), was nicht die allgemeinen Code-Intelligenzfähigkeiten über verschiedene Sprachen hinweg für existierende Large Language Models (LLMs) bewerten kann. Darüber hinaus berichten die bestehenden Benchmarks in der Regel über Gesamtdurchschnittswerte verschiedener Sprachen, wobei die fein abgestuften Fähigkeiten in verschiedenen Vervollständigungsszenarien ignoriert werden. Daher schlagen wir zur Unterstützung der Forschung von Code-LLMs in mehrsprachigen Szenarien einen massiv mehrsprachigen Benchmark für die Code-Vervollständigung auf Repository-Ebene vor, der 18 Programmiersprachen abdeckt (genannt M2RC-EVAL), und zwei Arten von fein abgestuften Annotationen (d.h. auf Eimer-Ebene und semantischer Ebene) für verschiedene Vervollständigungsszenarien bereitstellt, wobei wir diese Annotationen basierend auf dem geparsten abstrakten Syntaxbaum erhalten. Darüber hinaus kuratieren wir auch ein massiv mehrsprachiges Anweisungskorpora M2RC-INSTRUCT-Datensatz, um die Code-Vervollständigungsfähigkeiten auf Repository-Ebene von existierenden Code-LLMs zu verbessern. Umfassende experimentelle Ergebnisse zeigen die Wirksamkeit unseres M2RC-EVAL und M2RC-INSTRUCT auf.
English
Repository-level code completion has drawn great attention in software
engineering, and several benchmark datasets have been introduced. However,
existing repository-level code completion benchmarks usually focus on a limited
number of languages (<5), which cannot evaluate the general code intelligence
abilities across different languages for existing code Large Language Models
(LLMs). Besides, the existing benchmarks usually report overall average scores
of different languages, where the fine-grained abilities in different
completion scenarios are ignored. Therefore, to facilitate the research of code
LLMs in multilingual scenarios, we propose a massively multilingual
repository-level code completion benchmark covering 18 programming languages
(called M2RC-EVAL), and two types of fine-grained annotations (i.e.,
bucket-level and semantic-level) on different completion scenarios are
provided, where we obtain these annotations based on the parsed abstract syntax
tree. Moreover, we also curate a massively multilingual instruction corpora
M2RC- INSTRUCT dataset to improve the repository-level code completion
abilities of existing code LLMs. Comprehensive experimental results demonstrate
the effectiveness of our M2RC-EVAL and M2RC-INSTRUCT.Summary
AI-Generated Summary