数据集:

code_x_glue_cc_code_refinement

任务:

文生文

语言:

code

大小:

10K<n<100K

语言创建人:

found

批注创建人:

expert-generated

源数据集:

original

预印本库:

arxiv:1812.08693

其他:

debugging

许可:

c-uda
英文

"code_x_glue_cc_code_refinement" 数据集卡片

数据集概述

CodeXGLUE代码细化数据集,可在 https://github.com/microsoft/CodeXGLUE/tree/main/Code-Code/code-refinement 中找到

我们使用了这篇论文发布的数据集( https://arxiv.org/pdf/1812.08693.pdf )。源端是有缺陷的Java函数,目标端是经过修正的函数。所有的函数和变量名都已经被规范化处理。数据集包含两个子集(即小型和中型),根据函数长度进行划分。

支持的任务和排行榜

  • text2text-generation-other-debugging :该数据集可用于训练自动修复有Bug的代码的模型。

语言

  • Java 编程语言

数据集结构

数据实例

中型

"train" 的一个例子如下所示。

{
    "buggy": "public static TYPE_1 init ( java.lang.String name , java.util.Date date ) { TYPE_1 VAR_1 = new TYPE_1 ( ) ; VAR_1 . METHOD_1 ( name ) ; java.util.Calendar VAR_2 = java.util.Calendar.getInstance ( ) ; VAR_2 . METHOD_2 ( date ) ; VAR_1 . METHOD_3 ( VAR_2 ) ; return VAR_1 ; }\n", 
    "fixed": "public static TYPE_1 init ( java.lang.String name , java.util.Date date ) { TYPE_1 VAR_1 = new TYPE_1 ( ) ; VAR_1 . METHOD_1 ( name ) ; java.util.Calendar VAR_2 = null ; if ( date != null ) { VAR_2 = java.util.Calendar.getInstance ( ) ; VAR_2 . METHOD_2 ( date ) ; } VAR_1 . METHOD_3 ( VAR_2 ) ; return VAR_1 ; }\n", 
    "id": 0
}
小型

"validation" 的一个例子如下所示。

{
    "buggy": "public java.util.List < TYPE_1 > METHOD_1 ( ) { java.util.ArrayList < TYPE_1 > VAR_1 = new java.util.ArrayList < TYPE_1 > ( ) ; for ( TYPE_2 VAR_2 : VAR_3 ) { VAR_1 . METHOD_2 ( VAR_2 . METHOD_1 ( ) ) ; } return VAR_1 ; } \n", 
    "fixed": "public java.util.List < TYPE_1 > METHOD_1 ( ) { return VAR_1 ; } \n", 
    "id": 0
}

数据字段

下面的每个数据字段在不同配置中都有解释。数据字段在所有拆分中都是相同的。

中型,小型
field name type description
id int32 Index of the sample
buggy string The buggy version of the code
fixed string The correct version of the code

数据拆分

name train validation test
medium 52364 6546 6545
small 46680 5835 5835

数据集创建

策划理由

[需要更多信息]

源数据

初始数据收集和规范化

下载自GitHub Archive,包括2011年3月至2017年10月期间的所有公开GitHub事件,并使用Google BigQuery APIs。[需要更多信息]

谁是源语言的生产者?

软件工程开发人员。

注释

注释过程

通过过滤包含模式的提交消息自动进行注释:("fix" 或 "solve") 和 ("bug" 或 "issue" 或 "problem" 或 "error")。作者手动评估了统计学显著数量的样本(95%的置信水平和5%的置信区间),以检查过滤后的 bug/fix 对是否正确。在解决了所有争议后,作者得出结论,97.6%是真正的阳性。

谁是注释者?

启发式和论文的作者。

个人和敏感信息

[需要更多信息]

使用数据的注意事项

数据的社会影响

[需要更多信息]

偏见讨论

[需要更多信息]

其他已知限制

[需要更多信息]

其他信息

数据集策划者

https://github.com/microsoft https://github.com/madlag

许可信息

数据使用协议 (C-UDA) 许可证。

引用信息

@article{CodeXGLUE,
         title={CodeXGLUE: A Benchmark Dataset and Open Challenge for Code Intelligence},
         year={2020},}

贡献

感谢 @madlag(部分也感谢 @ncoop57)添加了该数据集。