论文标题

MACER:加速编译错误修复的模块化框架

MACER: A Modular Framework for Accelerated Compilation Error Repair

论文作者

Chhatbar, Darshak, Ahmed, Umair Z., Kar, Purushottam

论文摘要

自动化汇编错误修复是建议未汇编的错误计划的修复问题,近年来引起了浓厚的兴趣。除了成为一般便利性的工具外,自动化代码维修还针对新手程序员提供了重要的教学应用程序,这些新手程序员发现编译器错误消息隐性且无助。现有方法在很大程度上通过对重型生成学习技术的黑盒应用程序(例如序列到序列预测(示踪剂)或增强学习(Rassist))解决了这一问题。尽管很方便,但这种黑框的学习技术应用使现有的方法在训练时间方面变得笨重,并且在针对特定的错误类型方面效率低下。 我们提出了Macer,这是一种基于修复过程的模块化隔离到修复识别和维修应用的新技术,用于加速误差修复。 Macer使用强大但廉价的判别学习技术,例如多标签分类器和排名者,首先确定所需的维修类型,然后应用建议的维修。 实验表明,Macer采用的细颗粒方法不仅提供了较高的误差校正,而且还提供了更快的训练和预测。在从实际的学生提交的4K错误计划的基准数据集上,Macer在建议的修复程序中,以与学生所需的修复相匹配,Macer的表现优于现有方法20%。 Macer在所有错误类型的所有错误类型上也比现有方法具有竞争力或更好 - 无论是流行还是罕见。 Macer在示踪剂上提供2倍的训练时间,而Rassist的训练时间为800倍,两者的测试时间速度为2-4倍。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源