Program Synthesis Using Natural Language

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 pr...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings / International Conference on Software Engineering pp. 345 - 356
Main Authors: Desai, Aditya, Gulwani, Sumit, Hingorani, Vineet, Jain, Nidhi, Karkare, Amey, Marron, Mark, R., Sailesh, Roy, Subhajit
Format: Conference Proceeding
Language:English
Published: ACM 01.05.2016
Subjects:
ISSN:1558-1225
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract 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.
AbstractList 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.
Author Hingorani, Vineet
Karkare, Amey
Marron, Mark
Jain, Nidhi
R., Sailesh
Desai, Aditya
Gulwani, Sumit
Roy, Subhajit
Author_xml – sequence: 1
  givenname: Aditya
  surname: Desai
  fullname: Desai, Aditya
  email: adityapd@cse.iitk.ac.in
  organization: IIT Kanpur
– sequence: 2
  givenname: Sumit
  surname: Gulwani
  fullname: Gulwani, Sumit
  email: sumitg@microsoft.com
  organization: MSR Redmond
– sequence: 3
  givenname: Vineet
  surname: Hingorani
  fullname: Hingorani, Vineet
  email: viner@cse.iitk.ac.in
  organization: IIT Kanpur
– sequence: 4
  givenname: Nidhi
  surname: Jain
  fullname: Jain, Nidhi
  email: nidhij@cse.iitk.ac.in
  organization: IIT Kanpur
– sequence: 5
  givenname: Amey
  surname: Karkare
  fullname: Karkare, Amey
  email: karkare@cse.iitk.ac.in
  organization: IIT Kanpur
– sequence: 6
  givenname: Mark
  surname: Marron
  fullname: Marron, Mark
  email: marron@microsoft.com
  organization: MSR Redmond
– sequence: 7
  givenname: Sailesh
  surname: R.
  fullname: R., Sailesh
  email: sairaj@cse.iitk.ac.in
  organization: IIT Kanpur
– sequence: 8
  givenname: Subhajit
  surname: Roy
  fullname: Roy, Subhajit
  email: subhajit@cse.iitk.ac.in
  organization: IIT Kanpur
BookMark eNotzD1PAkEQgOHVaCIgtYXNlTaHO7PfpSGiJhc1UWoyu4znGVjM7VHw7yXB6snbvGNxkXeZhbgBOQPQ5h69187D7KQ9E9NwTG2kUkFKOBcjMMbXgGiuxLiUHyml1SGMxN17v2t72lYfhzx8c-lKtSxdbqtXGvY9baqGcrunlq_F5RdtCk__nYjl4vFz_lw3b08v84emJtRuqIkDRkzOJI_kjbdhzRFYxoRrSyla4wCTilE6iyqF6BQrqcBCMNE5VBNxe_p2zLz67bst9YeV88cTWPUHMjRBYA
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1145/2884781.2884786
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781450339001
145033900X
EISSN 1558-1225
EndPage 356
ExternalDocumentID 7886916
Genre orig-research
GroupedDBID -~X
.4S
.DC
123
23M
29O
5VS
6IE
6IF
6IH
6IK
6IL
6IM
6IN
8US
AAJGR
AAWTH
ABLEC
ADZIZ
AFFNX
ALMA_UNASSIGNED_HOLDINGS
APO
ARCSS
AVWKF
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
EDO
FEDTE
I-F
I07
IEGSK
IJVOP
IPLJI
M43
OCL
RIE
RIL
RIO
RNS
XOL
ID FETCH-LOGICAL-a247t-ae92b2c75c82a85869deb1e0bc2d6acb65712c3bb07623c9b73e30316195b7723
IEDL.DBID RIE
ISICitedReferencesCount 67
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000406138600032&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:48:12 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a247t-ae92b2c75c82a85869deb1e0bc2d6acb65712c3bb07623c9b73e30316195b7723
PageCount 12
ParticipantIDs ieee_primary_7886916
PublicationCentury 2000
PublicationDate 2016-May
PublicationDateYYYYMMDD 2016-05-01
PublicationDate_xml – month: 05
  year: 2016
  text: 2016-May
PublicationDecade 2010
PublicationTitle Proceedings / International Conference on Software Engineering
PublicationTitleAbbrev ICSE
PublicationYear 2016
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0006499
Score 2.406224
Snippet Interacting with computers is a ubiquitous activity for millions of people. Repetitive or specialized tasks often require creation of small, often one-off,...
SourceID ieee
SourceType Publisher
StartPage 345
SubjectTerms Automata
Benchmark testing
Domain Specific Languages
DSL
End-user Programming
Natrual Language Programming
Natural languages
Program Synthesis
Synthesizers
Training
Training data
User Intent
Title Program Synthesis Using Natural Language
URI https://ieeexplore.ieee.org/document/7886916
WOSCitedRecordID wos000406138600032&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1JSwMxFH60xYOnqq24k4MHD6ZL9jmLxUMZCi70VrIN9DKVLoL_3jeZsSJ48ZSQS_IS8r7vJW8BuOU8jL1wliL0CipYlNQisFOvdXCFCkalKhFvU53nZj7PZi2438fCxBiT81kcVN30lx9Wflc9lQ3RXFNIZ9rQ1lrVsVp7rauQujepe8ZCDpkxVRDloG7Vr9opCTom3f9NegT9nxg8MtujyzG0YnkC3e8iDKS5kz24m9UeVuT5s0Qyt1luSHIDILlNKTXItHmR7MPr5PHl4Yk25Q-oZUJvqY0Zc8xr6Q3D_cNVBFSsceQ8C8p6p6QeM8-dG6FC4z5zmkcEJKRwmXRImvkpdMpVGc-ASK4KHgPCuQ4CGZbVhc2MMshG0Pwx8hx6leCL9zrDxaKR-eLv4Us4RNqgare_K-hs17t4DQf-Y7vcrG_SsXwB4ZqNBQ
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1JSwMxFH7UKuipaivuzsGDB9Ml-5zFUnEcClbprWQr9DItXQT_vW8WK4IXTwm5JC8h7_te8haAW8Z8z3FrCEIvJ5wGQQwCO3FKeTuVXsuiSsR7otJUj8fxsAb321iYEELhfBbaebf4y_dzt8mfyjporkmkMzuwKzin3TJaa6t3JZL3KnlPj4sO1ToPo2yXrfxVPaUAj37jf9MeQusnCi8abvHlCGohO4bGdxmGqLqVTbgblj5W0etnhnRuNVtFhSNAlJoiqUaUVG-SLXjrP44eBqQqgEAM5WpNTIippU4JpynuIK7Co2oNXeuol8ZZKVSPOmZtF1Uac7FVLCAkIYmLhUXazE6gns2zcAqRYHLKgkdAV54jxzJqamItNfIRNIC0OINmLvhkUea4mFQyn_89fAP7g9FLMkme0ucLOEASIUsnwEuor5ebcAV77mM9Wy2viyP6AmwZkEw
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Program+Synthesis+Using+Natural+Language&rft.au=Desai%2C+Aditya&rft.au=Gulwani%2C+Sumit&rft.au=Hingorani%2C+Vineet&rft.au=Jain%2C+Nidhi&rft.date=2016-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=345&rft.epage=356&rft_id=info:doi/10.1145%2F2884781.2884786&rft.externalDocID=7886916