当前位置: 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

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
down
wechat
bug