当前位置:
X-MOL 学术
›
arXiv.cs.PL
›
论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
MACER: A Modular Framework for Accelerated Compilation Error Repair
arXiv - CS - Programming Languages Pub Date : 2020-05-28 , DOI: arxiv-2005.14015 Darshak Chhatbar and Umair Z. Ahmed and Purushottam Kar
arXiv - CS - Programming Languages Pub Date : 2020-05-28 , DOI: arxiv-2005.14015 Darshak Chhatbar and Umair Z. Ahmed and Purushottam Kar
Automated compilation error repair, the problem of suggesting fixes to buggy
programs that fail to compile, has generated significant interest in recent
years. Apart from being a tool of general convenience, automated code repair
has significant pedagogical applications for novice programmers who find
compiler error messages cryptic and unhelpful. Existing approaches largely
solve this problem using a blackbox-application of a heavy-duty generative
learning technique, such as sequence-to-sequence prediction (TRACER) or
reinforcement learning (RLAssist). Although convenient, such black-box
application of learning techniques makes existing approaches bulky in terms of
training time, as well as inefficient at targeting specific error types. We present MACER, a novel technique for accelerated error repair based on a
modular segregation of the repair process into repair identification and repair
application. MACER uses powerful yet inexpensive discriminative learning
techniques such as multi-label classifiers and rankers to first identify the
type of repair required and then apply the suggested repair. Experiments indicate that the fine-grained approach adopted by MACER offers
not only superior error correction, but also much faster training and
prediction. On a benchmark dataset of 4K buggy programs collected from actual
student submissions, MACER outperforms existing methods by 20% at suggesting
fixes for popular errors that exactly match the fix desired by the student.
MACER is also competitive or better than existing methods at all error types --
whether popular or rare. MACER offers a training time speedup of 2x over TRACER
and 800x over RLAssist, and a test time speedup of 2-4x over both.
中文翻译:
MACER:加速编译错误修复的模块化框架
自动编译错误修复,即建议修复无法编译的错误程序的问题,近年来引起了极大的兴趣。除了作为一般方便的工具之外,自动代码修复对于发现编译器错误消息神秘且无用的新手程序员来说具有重要的教学应用。现有的方法通过黑盒应用大量的生成学习技术来解决这个问题,例如序列到序列预测 (TRACER) 或强化学习 (RLAssist)。虽然方便,但这种学习技术的黑盒应用使得现有方法在训练时间方面变得笨重,并且在针对特定错误类型方面效率低下。我们呈现 MACER,一种基于将修复过程模块化分离为修复识别和修复应用的加速错误修复的新技术。MACER 使用强大而廉价的判别学习技术,例如多标签分类器和排序器,首先识别所需的修复类型,然后应用建议的修复。实验表明,MACER 采用的细粒度方法不仅提供了出色的纠错能力,而且训练和预测速度更快。在从实际学生提交的 4K 错误程序的基准数据集上,MACER 比现有方法高出 20%,针对流行错误的修复建议与学生所需的修复完全匹配。MACER 在所有错误类型上都具有竞争力或优于现有方法——无论是流行的还是罕见的。
更新日期:2020-05-29
中文翻译:
MACER:加速编译错误修复的模块化框架
自动编译错误修复,即建议修复无法编译的错误程序的问题,近年来引起了极大的兴趣。除了作为一般方便的工具之外,自动代码修复对于发现编译器错误消息神秘且无用的新手程序员来说具有重要的教学应用。现有的方法通过黑盒应用大量的生成学习技术来解决这个问题,例如序列到序列预测 (TRACER) 或强化学习 (RLAssist)。虽然方便,但这种学习技术的黑盒应用使得现有方法在训练时间方面变得笨重,并且在针对特定错误类型方面效率低下。我们呈现 MACER,一种基于将修复过程模块化分离为修复识别和修复应用的加速错误修复的新技术。MACER 使用强大而廉价的判别学习技术,例如多标签分类器和排序器,首先识别所需的修复类型,然后应用建议的修复。实验表明,MACER 采用的细粒度方法不仅提供了出色的纠错能力,而且训练和预测速度更快。在从实际学生提交的 4K 错误程序的基准数据集上,MACER 比现有方法高出 20%,针对流行错误的修复建议与学生所需的修复完全匹配。MACER 在所有错误类型上都具有竞争力或优于现有方法——无论是流行的还是罕见的。