Recently, we can notice a transition to data-driven techniques in Automated Program Repair (APR), in particular towards deep neural networks. This entails training on hundreds of thousands or even millions of non-executable code fragments. We would like to bring more attention to an aspect of code often neglected in Neural Program Repair (NPR), namely its execution. Code execution has several significant advantages. It allows for test-based evaluation of candidate fixes and can provide valuable information to aid repair. In this work we present a fully executable dataset of 450,000 small buggy/fixed program pairs originally submitted to programming competition websites written in eight different programming languages. Along with the dataset we provide infrastructure to compile, safely execute and test programs as well as fine-grained bug-type labels. To give a point of reference, we provide basic evaluation results for two baselines, one based on a generate-and-validate approach and one on deep learning. With this dataset we follow several goals: we want to lift Neural Program Repair beyond fully static code representations, foster the use of execution-based features and, by including several different languages, counterbalance the predominance of Java in the current landscape of APR datasets and benchmarks.


翻译:最近,我们可以注意到自动程序修复(APR)领域中向基于数据的技术的过渡,特别是向深度神经网络的过渡。这意味着需要在数十万或甚至数百万个不可执行的代码片段上进行训练。我们希望更多地关注神经程序修复(NPR)中经常被忽视的代码执行方面。代码执行具有几个重要的优点。它允许测试候选修复方案并提供有价值的信息来帮助修复。在这项工作中,我们提供了一个完全可执行的数据集,其中包含了由八种不同编程语言编写的45万个小型有错误/已修复程序对,这些程序最初是在编程竞赛网站上提交的。除了数据集外,我们还提供基础设施来编译、安全执行和测试程序,以及细粒度的错误类型标签。为了提供一个参考点,我们为两个基线提供了基本的评估结果,其中一个基于生成和验证方法,另一个基于深度学习。通过这个数据集,我们追求几个目标:我们想将神经程序修复提升到完全静态代码表示之外,促进基于执行的特征的使用,并通过包括几种不同的语言,抵消当前APR数据集和基准测试中Java的支配地位。

0
下载
关闭预览

相关内容

数据集,又称为资料集、数据集合或资料集合,是一种由数据所组成的集合。
Data set(或dataset)是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资料。对应于行数,该数据集的数据可能包括一个或多个成员。
【ICDM 2022教程】图挖掘中的公平性:度量、算法和应用
专知会员服务
26+阅读 · 2022年12月26日
【2022新书】高效深度学习,Efficient Deep Learning Book
专知会员服务
115+阅读 · 2022年4月21日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
145+阅读 · 2019年10月12日
【Github】GPT2-Chinese:中文的GPT2训练代码
AINLP
52+阅读 · 2019年8月23日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
基于PyTorch/TorchText的自然语言处理库
专知
27+阅读 · 2019年4月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】自动特征工程开源框架
机器学习研究会
17+阅读 · 2017年11月7日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
【数据集】新的YELP数据集官方下载
机器学习研究会
16+阅读 · 2017年8月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
6+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2023年5月24日
Arxiv
30+阅读 · 2021年7月7日
VIP会员
相关资讯
【Github】GPT2-Chinese:中文的GPT2训练代码
AINLP
52+阅读 · 2019年8月23日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
基于PyTorch/TorchText的自然语言处理库
专知
27+阅读 · 2019年4月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】自动特征工程开源框架
机器学习研究会
17+阅读 · 2017年11月7日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
【数据集】新的YELP数据集官方下载
机器学习研究会
16+阅读 · 2017年8月31日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
6+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员