程序合成:根据规格说明(specification)、输入输出示例(examples)或约束条件(constraints),自动(或半自动)生成满足要求的计算机程序/代码的技术与研究领域。(该术语也可泛指“自动写代码”的一类方法。)
/ˈproʊɡræm ˈsɪnθəsɪs/
Program synthesis can generate a small script from a few examples.
程序合成可以根据几个示例生成一段小脚本。
By combining constraints with verification, program synthesis helps produce correct-by-construction components for safety-critical software.
通过将约束与验证结合,程序合成有助于为安全关键软件生成“构造即正确”的组件。
program 源自希腊语 programma(“公告、书面说明”),经拉丁语与法语进入英语,逐渐指“预先写好的步骤/指令”。synthesis 来自希腊语 synthesis(“组合、合成”),由 *syn-*(“一起”)+ thesis(“放置、安排”)构成。合在一起,program synthesis 字面意思就是“把要素组合起来生成程序”,在计算机科学中专指“从规格/示例自动构造代码”。