返回
Program synthesis: challenges and opportunities
DOI:10.1098/rsta.2015.0403.png)
摘要
En 中文
Program synthesis is the mechanized construction of software, dubbed 'self-writing code'. Synthesis tools relieve the programmer from thinking about how the problem is to be solved; instead, the programmer only provides a description of what is to be achieved. Given a specification of what the program should do, the synthesizer generates an implementation that provably satisfies this specification. From a logical point of view, a program synthesizer is a solver for second-order existential logic. Owing to the expressiveness of second-order logic, program synthesis has an extremely broad range of applications. We survey some of these applications as well as recent trends in the algorithms that solve the program synthesis problem. In particular, we focus on an approach that has raised the profile of program synthesis and ushered in a generation of new synthesis tools, namely counter-exampleguided inductive synthesis (CEGIS). We provide a description of the CEGIS architecture, followed by recent algorithmic improvements. We conjecture that the capacity of program synthesis engines will see further step change, in a manner that is transparent to the applications, which will open up an even broader range of use-cases. This article is part of the themed issue 'Verified trustworthy software systems'.
Keyword:
verification
model checking
synthesis
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
P
IF:
3.7
论文数:
7.8K
被引数:
2.8W
机构
引用论文
Influence of Flow and Temperature on Survival of Wild Subyearling Fall Chinook Salmon in the Snake River流量和温度对蛇河野生一岁秋季奇努克鲑鱼生存的影响
NLR family pyrin domain containing 3 (NLRP3) and caspase 1 (CASP1) modulation by intracellular Cl– concentration
Immunology
IF0

