Program Synthesis using Natural Language

被引:63
作者
Desai, Aditya [1 ]
Gulwani, Sumit [2 ]
Hingorani, Vineet [1 ]
Jain, Nidhi [1 ]
Karkare, Amey [1 ]
Marron, Mark [2 ]
Sailesh, R. [1 ]
Roy, Subhajit [1 ]
机构
[1] IIT Kanpur, Kanpur, Uttar Pradesh, India
[2] MSR Redmond, Redmond, WA USA
来源
2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) | 2016年
关键词
D O I
10.1145/2884781.2884786
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Interacting with computers is a ubiquitous activity for millions of people. Repetitive or specialized tasks often require creation of small, often one-off, programs. End-users struggle with learning and using the myriad of domain-specific languages (DSLs) to effectively accomplish these tasks. We present a general framework for constructing program synthesizers that take natural language (NL) inputs and produce expressions in a target DSL. The framework takes as input a DSL definition and training data consisting of NL/DSL pairs. From these it constructs a synthesizer by learning optimal weights and classifiers (using NLP features) that rank the outputs of a keyword-programming based translation. We applied our framework to three domains: repetitive text editing, an intelligent tutoring system, and flight information queries. On 1200+ English descriptions, the respective synthesizers rank the desired program as the top-1 and top-3 for 80% and 90% descriptions respectively.
引用
收藏
页码:345 / 356
页数:12
相关论文
共 55 条
[1]  
Alur R., 2013, IJCAI
[2]  
Androutsopoulos I., 1995, NAT LANG ENG
[3]   LEARNING REGULAR SETS FROM QUERIES AND COUNTEREXAMPLES [J].
ANGLUIN, D .
INFORMATION AND COMPUTATION, 1987, 75 (02) :87-106
[4]  
[Anonymous], 2011, CHI
[5]  
[Anonymous], 2005, UAI
[6]  
[Anonymous], UIST
[7]  
[Anonymous], 2011, ACL
[8]  
[Anonymous], UIST
[9]  
[Anonymous], 2006, PATTERN RECOGN, DOI DOI 10.1117/1.2819119
[10]  
[Anonymous], IUI