On Repair with Probabilistic Attribute Grammars
On Repair with Probabilistic Attribute Grammars
复制标题
用概率属性文法修复
DOI:
--
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Viktor Kunčak
中科院分区:
文献类型:
--
作者:
Manos Koukoutos;Mukund Raghothaman;Etienne Kneuss;Viktor Kunčak
Program synthesis and repair have emerged as an exciting area of research, driven by the potential for revolutionary advances in programmer productivity. Among most promising ideas emerging for synthesis are syntax-driven search, probabilistic models of code, and the use of input-output examples. Our paper shows how to combine these techniques and use them for program repair, which is among the most relevant applications of synthesis to general-purpose code. Our approach combines semantic specifications, in the form of pre- and post-conditions and input-output examples with syntactic specifications in the form of term grammars and AST-level statistics extracted from code corpora. We show that synthesis in this framework can be viewed as an instance of graph search, permitting the use of well-understood families of techniques such as A*. We implement our algorithm in a framework for verification, synthesis and repair of functional programs, demonstrating that our approach can repair programs that are beyond the reach of previous tools.