LuShuai ; GuoDaya ; RenShuo ; HuangJunjie ; SvyatkovskiyAlexey ; BlancoAmbrosio ; ClementColin ; DrainDawn ; JiangDaxin ; TangDuyu ; LiGe ; ZhouLidong ; ShouLinjun ; ZhouLong ; TufanoMichele ; GongMing ; ZhouMing ; DuanNan ; SundaresanNeel ; DengShao Kun ; FuShengyu ; LiuShujie

摘要
基准数据集对加速编程语言任务的研究具有重要意义。本文介绍了CodeXGLUE,这是一个旨在促进程序理解和生成领域机器学习研究的基准数据集。CodeXGLUE 包含了14个数据集中10项任务的集合,以及一个用于模型评估和比较的平台。CodeXGLUE 还提供了三种基线系统,包括BERT风格、GPT风格和编码器-解码器模型,以便研究人员能够方便地使用该平台。这些数据和基线系统的可用性有助于新方法的开发和验证,这些新方法可以应用于各种程序理解和生成问题。
代码仓库
Avmb/semantic_neq_game
GitHub 中提及
kilimanj4r0/code-summarization-beyond-function-level
pytorch
GitHub 中提及
yueyuel/programgen-lms-reliability
pytorch
GitHub 中提及
facebookresearch/CodeGen
GitHub 中提及
deeplearnxmu/unigencoder
pytorch
GitHub 中提及
microsoft/CodeXGLUE
官方
pytorch
GitHub 中提及
sberbank-ai/fusion_brain_aij2021
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| cloze-test-on-codexglue-ct-all | CodeBERT(MLM) | Go: 83.31 JS: 81.77 Java: 80.63 PHP: 85.05 Python: 87.21 Ruby: 80.17 |
| cloze-test-on-codexglue-ct-maxmin | CodeBERT(MLM) | Go: 90.79 JS: 86.4 Java: 90.46 PHP: 88.21 Python: 82.2 Ruby: 86.84 |
| code-repair-on-codexglue-bugs2fix | CodeBERT | Accuracy (medium): 5.2 Accuracy (small): 16.4 BLEU (medium): 91.07 BLEU (small): 77.42 CodeBLEU (medium): 87.52 CodeBLEU (small): 75.58 |
| code-search-on-codexglue-advtest | CodeBERT | MRR: 27.19 |
| code-search-on-codexglue-webquerytest | CodeBERT | Accuracy: 47.8 F1: 58.95 |
| code-translation-on-codexglue-codetrans | CodeBERT | Accuracy (C#→Java): 58 Accuracy (Java→C#): 59 BLEU (C#→Java): 72.14 BLEU (Java→C#): 79.92 CodeBLEU (C#→Java): 79.41 CodeBLEU (Java→C#): 85.1 |
| defect-detection-on-codexglue-devign | CodeBERT | Accuracy: 62.08 |
| text-to-code-generation-on-codexglue-concode | CodeGPT-adapted | BLEU: 32.79 CodeBLEU: 27.74 EM: 20.1 |