M2RC-EVAL: Массивно мультиязыковая оценка завершения кода на уровне репозитория
Завершение кода на уровне репозитория привлекло большое внимание в области инженерии программного обеспечения, и были представлены несколько эталонных наборов данных. Однако, существующие эталоны для завершения кода на уровне репозитория обычно охватывают ограниченное количество языков (менее 5), что не позволяет оценить общие способности интеллектуального анализа кода для существующих моделей больших языковых моделей (LLMs). Кроме того, эти эталоны обычно сообщают средние показатели по всем языкам, игнорируя детализированные способности в различных сценариях завершения кода. Поэтому, для содействия исследованиям LLMs для кода в многоязычных сценариях, мы предлагаем массово многоязычный эталонный набор данных для завершения кода на уровне репозитория, охватывающий 18 языков программирования (названный M2RC-EVAL), а также два типа детализированных аннотаций (на уровне блоков и на семантическом уровне) для различных сценариев завершения. Эти аннотации мы получаем на основе разбора абстрактного синтаксического дерева. Более того, мы также собрали массивный многоязычный набор инструкций M2RC-INSTRUCT, чтобы улучшить способности завершения кода на уровне репозитория у существующих LLMs. Комплексные экспериментальные результаты демонстрируют эффективность наших M2RC-EVAL и M2RC-INSTRUCT.