论文标题

部分可观测时空混沌系统的无模型预测

GLAD: Neural Predicate Synthesis to Repair Omission Faults

论文作者

Kang, Sungmin, Yoo, Shin

论文摘要

现有的模板和基于学习的APR工具已成功找到了许多基准故障的补丁程序。但是,我们对现有结果的分析表明,遗漏故障对这些技术构成了重大挑战。对于基于模板的方法,遗漏故障没有提供将模板应用于的位置;对于将修复作为神经机器翻译(NMT)制定的基于学习的方法,类似的遗漏故障也不提供用于翻译的故障代码。为了解决这些问题,我们提出了一种基于学习的新型维修技术,专门针对if-sause综合。高兴不需要有缺陷的线,因为它基于生成语言模型(LMS)而不是机器翻译。因此,它可以修复遗漏故障。 Glad使用基于类型的语法智能地约束语言模型。此外,它通过使用调试器对候选补丁进行动态排名有效地降低了验证成本。由于从翻译到合成的转变,Glad与现有技术高度正交:高兴可以正确修复16个缺陷4J v1.2以前基于NMT的技术无法保持合理的运行时成本,并保持其效用为APR工具,并且可以在实践中补充现有工具。对Glad Fixes的错误检查表明,Glood可以迅速产生表达式,这对其他技术来说是具有挑战性的。

Existing template and learning-based APR tools have successfully found patches for many benchmark faults. However, our analysis of existing results shows that omission faults pose a significant challenge to these techniques. For template based approaches, omission faults provide no location to apply templates to; for learning based approaches that formulate repair as Neural Machine Translation (NMT), omission faults similarly do not provide the faulty code to translate. To address these issues, we propose GLAD, a novel learning-based repair technique that specifically targets if-clause synthesis. GLAD does not require a faulty line as it is based on generative Language Models (LMs) instead of machine translation; consequently, it can repair omission faults. GLAD intelligently constrains the language model using a type-based grammar. Further, it efficiently reduces the validation cost by performing dynamic ranking of candidate patches using a debugger. Thanks to the shift from translation to synthesis, GLAD is highly orthogonal to existing techniques: GLAD can correctly fix 16 Defects4J v1.2 faults that previous NMT-based techniques could not, while maintaining a reasonable runtime cost, underscoring its utility as an APR tool and potential to complement existing tools in practice. An inspection of the bugs that GLAD fixes reveals that GLAD can quickly generate expressions that would be challenging for other techniques.

扫码加入交流群

加入微信交流群

微信交流群二维码

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