实例编程研究进展与挑战

TP311; 程序合成指计算机自动地构造符合指定语法和用户给定规约的代码.实例编程是程序合成中一类以输入输出实例为规约形式的范式,它易用性高、学习成本低.近年来,该技术已经在数据处理、字符串变换等领域得到成功应用,具有很大的发展潜力.实例编程主要待解决的问题有两点:一是庞大程序空间中高效搜索的问题,二是程序合成解的歧义性问题.为解决第一个问题,实例编程方法在指定搜索策略时,需选取适当的领域特定语言,制定搜索算法,所应用的算法可分类为基于规则的算法和基于统计模型的算法.为解决第二个问题,实例编程方法需制定排序策略,所应用的排序策略可分类为基于给定实例的排序方法和基于用户交互的排序方法.文中对近年...

Full description

Saved in:
Bibliographic Details
Published in计算机科学 Vol. 49; no. 11; pp. 1 - 7
Main Authors 严倩羽, 李弋, 彭鑫
Format Journal Article
LanguageChinese
Published 复旦大学计算机科学技术学院 上海 200438%上海市数据科学重点实验室(复旦大学) 上海 200438 2022
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:TP311; 程序合成指计算机自动地构造符合指定语法和用户给定规约的代码.实例编程是程序合成中一类以输入输出实例为规约形式的范式,它易用性高、学习成本低.近年来,该技术已经在数据处理、字符串变换等领域得到成功应用,具有很大的发展潜力.实例编程主要待解决的问题有两点:一是庞大程序空间中高效搜索的问题,二是程序合成解的歧义性问题.为解决第一个问题,实例编程方法在指定搜索策略时,需选取适当的领域特定语言,制定搜索算法,所应用的算法可分类为基于规则的算法和基于统计模型的算法.为解决第二个问题,实例编程方法需制定排序策略,所应用的排序策略可分类为基于给定实例的排序方法和基于用户交互的排序方法.文中对近年来的实例编程相关文献进行了整理,针对解决以上两个问题的方法、关键技术点进行了总结归纳,最后对实例编程领域未来的研究方向给出了建议.
ISSN:1002-137X
DOI:10.11896/jsjkx.211000225