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...
Saved in:
| Published in: | Proceedings / International Conference on Software Engineering pp. 345 - 356 |
|---|---|
| Main Authors: | , , , , , , , |
| 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 |