Just-in-time learning for bottom-up enumerative synthesis

A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a model, however, might be infeasible for a problem domain where...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of ACM on programming languages Jg. 4; H. OOPSLA; S. 1 - 29
Hauptverfasser: Barke, Shraddha, Peleg, Hila, Polikarpova, Nadia
Format: Journal Article
Sprache:Englisch
Veröffentlicht: New York, NY, USA ACM 13.11.2020
Schlagworte:
ISSN:2475-1421, 2475-1421
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a model, however, might be infeasible for a problem domain where no high-quality training data is available. In this work we introduce an alternative approach to guided program synthesis: instead of training a model ahead of time we show how to bootstrap one just in time, during synthesis, by learning from partial solutions encountered along the way. To make the best use of the model, we also propose a new program enumeration algorithm we dub guided bottom-up search, which extends the efficient bottom-up search with guidance from probabilistic models. We implement this approach in a tool called Probe, which targets problems in the popular syntax-guided synthesis (SyGuS) format. We evaluate Probe on benchmarks from the literature and show that it achieves significant performance gains both over unguided bottom-up search and over a state-of-the-art probability-guided synthesizer, which had been trained on a corpus of existing solutions. Moreover, we show that these performance gains do not come at the cost of solution quality: programs generated by Probe are only slightly more verbose than the shortest solutions and perform no unnecessary case-splitting.
AbstractList A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a model, however, might be infeasible for a problem domain where no high-quality training data is available. In this work we introduce an alternative approach to guided program synthesis: instead of training a model ahead of time we show how to bootstrap one just in time, during synthesis, by learning from partial solutions encountered along the way. To make the best use of the model, we also propose a new program enumeration algorithm we dub guided bottom-up search, which extends the efficient bottom-up search with guidance from probabilistic models. We implement this approach in a tool called Probe, which targets problems in the popular syntax-guided synthesis (SyGuS) format. We evaluate Probe on benchmarks from the literature and show that it achieves significant performance gains both over unguided bottom-up search and over a state-of-the-art probability-guided synthesizer, which had been trained on a corpus of existing solutions. Moreover, we show that these performance gains do not come at the cost of solution quality: programs generated by Probe are only slightly more verbose than the shortest solutions and perform no unnecessary case-splitting.
A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a model, however, might be infeasible for a problem domain where no high-quality training data is available. In this work we introduce an alternative approach to guided program synthesis: instead of training a model ahead of time we show how to bootstrap one just in time, during synthesis, by learning from partial solutions encountered along the way. To make the best use of the model, we also propose a new program enumeration algorithm we dub guided bottom-up search, which extends the efficient bottom-up search with guidance from probabilistic models. We implement this approach in a tool called Probe, which targets problems in the popular syntax-guided synthesis (SyGuS) format. We evaluate Probe on benchmarks from the literature and show that it achieves significant performance gains both over unguided bottom-up search and over a state-of-the-art probability-guided synthesizer, which had been trained on a corpus of existing solutions. Moreover, we show that these performance gains do not come at the cost of solution quality: programs generated by Probe are only slightly more verbose than the shortest solutions and perform no unnecessary case-splitting.
ArticleNumber 227
Author Peleg, Hila
Polikarpova, Nadia
Barke, Shraddha
Author_xml – sequence: 1
  givenname: Shraddha
  surname: Barke
  fullname: Barke, Shraddha
  email: sbarke@eng.ucsd.edu
  organization: University of California at San Diego, USA
– sequence: 2
  givenname: Hila
  surname: Peleg
  fullname: Peleg, Hila
  email: hilap@cs.technion.ac.il
  organization: University of California at San Diego, USA
– sequence: 3
  givenname: Nadia
  surname: Polikarpova
  fullname: Polikarpova, Nadia
  email: npolikarpova@eng.ucsd.edu
  organization: University of California at San Diego, USA
BookMark eNptz8FKxDAQBuAgK7iui3dPvXmKNpm0aY6y6KoseNFzmbZTjbTpkqTCvr2VXUXE0wzMx8z8p2zmBkeMnYv0SgiVXYOShTTZEZtLpTMulBSzX_0JW4bwnqapMKAKMHNmHscQuXU82p6SjtA7616TdvBJNcQ49HzcJuTGnjxG-0FJ2Ln4RsGGM3bcYhdoeagL9nJ3-7y655un9cPqZsNRah15jlTUAKaa7kMDCgpSmiQ2klphUmV0YahRRYtCSwSZ55VpNKIAAU0NLSwY3--t_RCCp7asbZx-GVz0aLtSpOVX9PIQffKXf_zW2x797h95sZdY9z_oe_gJVcthXg
CitedBy_id crossref_primary_10_3390_info16050401
crossref_primary_10_1145_3656453
crossref_primary_10_1002_spe_3054
crossref_primary_10_1002_spe_3286
crossref_primary_10_1145_3591285
crossref_primary_10_1145_3729336
crossref_primary_10_1145_3485532
crossref_primary_10_1145_3485530
crossref_primary_10_1145_3428295
crossref_primary_10_1145_3656447
crossref_primary_10_1145_3517034
crossref_primary_10_1145_3591255
crossref_primary_10_1145_3591288
crossref_primary_10_1088_2632_2153_ad4252
crossref_primary_10_1145_3632913
Cites_doi 10.1145/2666356.2594321
10.1007/978-3-030-11245-5_2
10.1145/2980024.2872387
10.1145/3133886
10.1145/1993316.1993506
10.1145/3208071
10.1145/3158151
10.1145/2594291.2594333
10.4204/EPTCS.260.9
10.1145/2666356.2594297
10.1145/3093333.3009851
dl.acm.org/doi/10.1145/3158090
10.1145/3212695
10.1145/2813885.2737977
10.1007/978-3-642-39799-8_67
dl.acm.org/doi/10.1145/3290386
10.1145/1926385.1926423
10.4204/EPTCS.229.9
10.1145/2544173.2509555
10.1145/3428295
10.1145/1168917.1168907
10.1145/2837614.2837629
10.1145/3062341.3062365
10.1145/2737924.2738007
10.1007/978-3-662-54577-5_18
10.1145/2491956.2462192
10.4204/EPTCS.229.13
10.1145/1806799.1806833
10.1145/3296979.3192410
10.1145/3062341.3062351
10.1007/978-3-030-25543-5_5
ContentType Journal Article
Copyright Owner/Author
Copyright_xml – notice: Owner/Author
DBID AAYXX
CITATION
DOI 10.1145/3428295
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2475-1421
EndPage 29
ExternalDocumentID 10_1145_3428295
3428295
GrantInformation_xml – fundername: National Science Foundation
  grantid: 1955457, 1911149, 1943623
GroupedDBID AAKMM
AAYFX
ACM
ADPZR
AIKLT
ALMA_UNASSIGNED_HOLDINGS
GUFHI
LHSKQ
M~E
OK1
ROL
AAYXX
AEFXT
AEJOY
AKRVB
CITATION
ID FETCH-LOGICAL-a277t-6ae8c339b1423d3438e47e2ad2ef19049789ed48fa172a3266b9d7aa1313dc3f3
ISICitedReferencesCount 26
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000685203900104&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2475-1421
IngestDate Sat Nov 29 07:49:08 EST 2025
Tue Nov 18 22:10:15 EST 2025
Fri Feb 21 01:11:52 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue OOPSLA
Keywords Probabilistic models
Domain-specific languages
Program Synthesis
Language English
License This work is licensed under a Creative Commons Attribution International 4.0 License.
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a277t-6ae8c339b1423d3438e47e2ad2ef19049789ed48fa172a3266b9d7aa1313dc3f3
OpenAccessLink https://dl.acm.org/doi/10.1145/3428295
PageCount 29
ParticipantIDs crossref_citationtrail_10_1145_3428295
crossref_primary_10_1145_3428295
acm_primary_3428295
PublicationCentury 2000
PublicationDate 2020-11-13
PublicationDateYYYYMMDD 2020-11-13
PublicationDate_xml – month: 11
  year: 2020
  text: 2020-11-13
  day: 13
PublicationDecade 2020
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationTitle Proceedings of ACM on programming languages
PublicationTitleAbbrev ACM PACMPL
PublicationYear 2020
Publisher ACM
Publisher_xml – name: ACM
References Rajeev Alur, Rishabh Singh, Dana Fisman, and Armando Solar-Lezama. 2018. Search-based Program Synthesis. Commun. ACM 61, 12 (Nov. 2018 ), 84-93. https://doi.org/10.1145/3208071 10.1145/3208071
Peter-Michael Osera and Steve Zdancewic. 2015. Type-and-example-directed program synthesis. In ACM SIGPLAN Notices, Vol. 50. ACM, 619-630.
Daniel Perelman, Sumit Gulwani, Dan Grossman, and Peter Provost. 2014. Test-driven synthesis. ACM Sigplan Notices 49, 6 ( 2014 ), 408-418.
Ashwin Kalyan, Abhishek Mohta, Oleksandr Polozov, Dhruv Batra, Prateek Jain, and Sumit Gulwani. 2018. Neural-guided deductive search for real-time program synthesis from examples. arXiv preprint arXiv: 1804. 01186 ( 2018 ).
Veselin Raychev, Martin Vechev, and Eran Yahav. 2014. Code completion with statistical language models. In ACM SIGPLAN Notices, Vol. 49. ACM, 419-428.
Miltiadis Allamanis, Earl T Barr, Premkumar Devanbu, and Charles Sutton. 2018. A survey of machine learning for big code and naturalness. ACM Computing Surveys (CSUR) 51, 4 ( 2018 ), 1-37.
Vu Le and Sumit Gulwani. 2014. FlashExtract: a framework for data extraction by examples. In Proceedings of the 35th Conference on Programming Language Design and Implementation, Michael F. P. O'Boyle and Keshav Pingali (Eds.). ACM, 55. https://doi.org/10.1145/2594291.2594333 10.1145/2594291.2594333
Rajeev Alur, Dana Fisman, Rishabh Singh, and Armando Solar-Lezama. 2016. Sygus-comp 2016: results and analysis. arXiv preprint arXiv:1611.07627 ( 2016 ).
Etienne Kneuss, Ivan Kuraj, Viktor Kuncak, and Philippe Suter. 2013. Synthesis Modulo Recursive Functions. SIGPLAN Not. 48, 10 (Oct. 2013 ), 407-426.
Pavol Bielik, Veselin Raychev, and Martin Vechev. 2016. PHOG: probabilistic model for code. In International Conference on Machine Learning. 2933-2942.
Yu Feng, Ruben Martins, Jacob Van Gefen, Isil Dillig, and Swarat Chaudhuri. 2017a. Component-based synthesis of table consolidation and transformation tasks from examples. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, June 18-23, 2017. 422-436.
Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, and Abhishek Udupa. 2013. Syntax-guided synthesis. In Formal Methods in Computer-Aided Design, FMCAD 2013, Portland, OR, USA, October 20-23, 2013. 1-8. http://ieeexplore.ieee.org/document/ 6679385
Woosuk Lee, Kihong Heo, Rajeev Alur, and Mayur Naik. 2018. Accelerating search-based program synthesis using learned probabilistic models. ACM SIGPLAN Notices 53, 4 ( 2018 ), 436-449.
Jianhang Gao, Qing Zhao, Wei Ren, Ananthram Swami, Ram Ramanathan, and Amotz Bar-Noy. 2012. Dynamic Shortest Path Algorithms for Hypergraphs. CoRR abs/1202.0082 ( 2012 ). arXiv: 1202.0082 http://arxiv.org/abs/1202.0082
Susmit Jha, Sumit Gulwani, Sanjit A Seshia, and Ashish Tiwari. 2010. Oracle-guided component-based program synthesis. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, Vol. 1. IEEE, 215-224.
Hila Peleg and Nadia Polikarpova. 2020. Perfect is the Enemy of Good: Best-Efort Program Synthesis. In 34th European Conference on Object-Oriented Programming, ECOOP.
Sumit Gulwani. 2016. Programming by Examples (and its applications in Data Wrangling). In Verification and Synthesis of Correct and Secure Systems, Javier Esparza, Orna Grumberg, and Salomon Sickert (Eds.). IOS Press.
Manos Koukoutos, Etienne Kneuss, and Viktor Kuncak. 2016. An Update on Deductive Synthesis and Repair in the Leon Tool. In Proceedings Fifth Workshop on Synthesis, SYNT@CAV 2016, Toronto, Canada, July 17-18, 2016. 100-111.
2018. Euphony Benchmark Suite. https://github.com/wslee/euphony/tree/master/benchmarks
Calvin Smith and Aws Albarghouthi. 2019. Program Synthesis with Equivalence Reduction. In Verification, Model Checking, and Abstract Interpretation-20th International Conference, VMCAI 2019, Cascais, Portugal, January 13-15, 2019, Proceedings. 24-47. https://doi.org/10.1007/978-3-030-11245-5_2 10.1007/978-3-030-11245-5_2
Yanju Chen, Chenglong Wang, Osbert Bastani, Isil Dillig, and Yu Feng. 2020. Program Synthesis Using Deduction-Guided Reinforcement Learning. In International Conference on Computer Aided Verification. Springer, 587-610.
Abhishek Udupa, Arun Raghavan, Jyotirmoy V Deshmukh, Sela Mador-Haim, Milo MK Martin, and Rajeev Alur. 2013. TRANSIT: specifying protocols with concolic snippets. ACM SIGPLAN Notices 48, 6 ( 2013 ), 287-296.
Rajeev Alur, Arjun Radhakrishna, and Abhishek Udupa. 2017b. Scaling enumerative program synthesis via divide and conquer. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 319-336.
Manos Koukoutos, Mukund Raghothaman, Etienne Kneuss, and Viktor Kuncak. 2017. On repair with probabilistic attribute grammars. arXiv preprint arXiv:1707.04148 ( 2017 ).
Xujie Si, Yuan Yang, Hanjun Dai, Mayur Naik, and Le Song. 2019. Learning a Meta-Solver for Syntax-Guided Program Synthesis. https://openreview.net/forum?id=Syl8Sn0cK7
Aws Albarghouthi, Sumit Gulwani, and Zachary Kincaid. 2013. Recursive program synthesis. In International Conference on Computer Aided Verification. Springer, 934-950.
Henry S Warren. 2013. Hacker's delight. Pearson Education.
Jonathan Frankle, Peter-Michael Osera, David Walker, and Steve Zdancewic. 2016. Example-directed Synthesis: A Typetheoretic Interpretation. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (St. Petersburg, FL, USA) ( POPL '16). ACM, New York, NY, USA, 802-815. https://doi.org/10.1145/2837614. 2837629 10.1145/2837614.2837629
Chenglong Wang, Alvin Cheung, and Rastislav Bodik. 2017a. Synthesizing highly expressive SQL queries from input-output examples. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, 452-466.
Phitchaya Mangpo Phothilimthana, Aditya Thakur, Rastislav Bodik, and Dinakar Dhurjati. 2016. Scaling up Superoptimization. SIGARCH Comput. Archit. News 44, 2 (March 2016 ), 297-310. https://doi.org/10.1145/2980024.2872387 10.1145/2980024.2872387
Rajeev Alur, Dana Fisman, Rishabh Singh, and Armando Solar-Lezama. 2017a. Sygus-comp 2017 : Results and analysis. arXiv preprint arXiv:1711.11438 ( 2017 ).
Kevin Ellis, Lucas Morales, Mathias Sablé Meyer, Armando Solar-Lezama, and Joshua B Tenenbaum. 2018. Search, compress, compile: Library learning in neurally-guided bayesian program learning. Advances in neural information processing systems ( 2018 ).
Kensen Shi, Jacob Steinhardt, and Percy Liang. 2019. FrAngel: component-based synthesis with control structures. Proceedings of the ACM on Programming Languages 3, POPL ( 2019 ), 1-29. https://dl.acm.org/doi/10.1145/3290386 dl.acm.org/doi/10.1145/3290386
Shraddha Barke, Hila Peleg, and Nadia Polikarpova. 2020. Just-in-Time Learning for Bottom-up Enumerative Synthesis. ( 2020 ). https://shraddhabarke.github.io/publication/probe-oopsla
Jeevana Priya Inala and Rishabh Singh. 2018. WebRelate: integrating web data with spreadsheets using examples. PACMPL 2, POPL ( 2018 ), 2 : 1-2 : 28. https://dl.acm.org/doi/10.1145/3158090 dl.acm.org/doi/10.1145/3158090
Sumit Gulwani, Susmit Jha, Ashish Tiwari, and Ramarathnam Venkatesan. 2011. Synthesis of loop-free programs. ACM SIGPLAN Notices 46, 6 ( 2011 ), 62-73.
Rohin Shah, Sumith Kulal, and Rastislav Bodik. 2018. Scalable Synthesis with Symbolic Syntax Graphs. ( 2018 ).
Ethem Alpaydin. 2014. Introduction to Machine Learning ( 3 ed.). MIT Press, Cambridge, MA.
Aditya Menon, Omer Tamuz, Sumit Gulwani, Butler Lampson, and Adam Kalai. 2013. A machine learning framework for programming by example. In International Conference on Machine Learning. 187-195.
Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Sanjit Seshia, and Vijay Saraswat. 2006. Combinatorial sketching for ifnite programs. ACM SIGOPS Operating Systems Review 40, 5 ( 2006 ), 404-415.
Xinyu Wang, Isil Dillig, and Rishabh Singh. 2017b. Synthesis of Data Completion Scripts Using Finite Tree Automata. Proc. ACM Program. Lang. 1, OOPSLA, Article 62, 26 pages. https://doi.org/10.1145/3133886 10.1145/3133886
Matej Balog, Alexander L Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. Deepcoder: Learning to write programs. arXiv preprint arXiv:1611. 01989 ( 2016 ).
Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, and Thomas W Reps. 2017b. Component-based synthesis for complex APIs. ACM SIGPLAN Notices 52, 1 ( 2017 ), 599-612.
Xinyu Wang, Isil Dillig, and Rishabh Singh. 2017c. Program Synthesis Using Abstraction Refinement. Proc. ACM Program. Lang. 2, POPL, Article 63, 30 pages. https://doi.org/10.1145/3158151 10.1145/3158151
Tihomir Gvero, Viktor Kuncak, Ivan Kuraj, and Ruzica Piskac. 2013. Complete completion using types and weights. In ACM SIGPLAN Notices, Vol. 48. ACM, 27-38.
Andrew Reynolds, Haniel Barbosa, Andres Nötzli, Clark Barrett, and Cesare Tinelli. 2019. cvc 4 sy: smart and fast term enumeration for syntax-guided synthesis. In International Conference on Computer Aided Verification. Springer, 74-83.
Sumit Gulwani. 2011. Automating String Processing in Spreadsheets Using Input-output Examples. In Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Austin, Texas, USA) ( POPL '11). ACM, New York, NY, USA, 317-330. https://doi.org/10.1145/1926385.1926423 10.1145/1926385.1926423
John K Feser, Swarat Chaudhuri, and Isil Dillig. 2015. Synthesizing data structure transformations from input-output examples. In ACM SIGPLAN Notices, Vol. 50. ACM, 229-239.
Balog Matej (e_1_2_2_10_1) 2016
e_1_2_2_25_1
Menon Aditya (e_1_2_2_32_1) 2013
e_1_2_2_48_1
Gulwani Sumit (e_1_2_2_21_1)
e_1_2_2_24_1
e_1_2_2_6_1
e_1_2_2_23_1
e_1_2_2_7_1
e_1_2_2_22_1
Alpaydin Ethem (e_1_2_2_4_1)
e_1_2_2_1_1
e_1_2_2_20_1
e_1_2_2_2_1
e_1_2_2_3_1
e_1_2_2_40_1
e_1_2_2_41_1
Ellis Kevin (e_1_2_2_14_1) 2018
e_1_2_2_42_1
e_1_2_2_43_1
e_1_2_2_9_1
e_1_2_2_29_1
e_1_2_2_8_1
e_1_2_2_28_1
e_1_2_2_45_1
e_1_2_2_27_1
e_1_2_2_46_1
e_1_2_2_47_1
Chen Yanju (e_1_2_2_13_1) 2020
Kalyan Ashwin (e_1_2_2_26_1) 1804
e_1_2_2_37_1
Peleg Hila (e_1_2_2_34_1) 2020
e_1_2_2_38_1
e_1_2_2_39_1
e_1_2_2_11_1
e_1_2_2_30_1
e_1_2_2_31_1
e_1_2_2_19_1
e_1_2_2_18_1
e_1_2_2_33_1
e_1_2_2_17_1
e_1_2_2_16_1
e_1_2_2_35_1
e_1_2_2_15_1
e_1_2_2_36_1
Udupa Abhishek (e_1_2_2_44_1) 2013
Bielik Pavol (e_1_2_2_12_1) 2016
Alur Rajeev (e_1_2_2_5_1) 2013
References_xml – reference: Sumit Gulwani. 2011. Automating String Processing in Spreadsheets Using Input-output Examples. In Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Austin, Texas, USA) ( POPL '11). ACM, New York, NY, USA, 317-330. https://doi.org/10.1145/1926385.1926423 10.1145/1926385.1926423
– reference: Aws Albarghouthi, Sumit Gulwani, and Zachary Kincaid. 2013. Recursive program synthesis. In International Conference on Computer Aided Verification. Springer, 934-950.
– reference: Manos Koukoutos, Mukund Raghothaman, Etienne Kneuss, and Viktor Kuncak. 2017. On repair with probabilistic attribute grammars. arXiv preprint arXiv:1707.04148 ( 2017 ).
– reference: Jeevana Priya Inala and Rishabh Singh. 2018. WebRelate: integrating web data with spreadsheets using examples. PACMPL 2, POPL ( 2018 ), 2 : 1-2 : 28. https://dl.acm.org/doi/10.1145/3158090 dl.acm.org/doi/10.1145/3158090
– reference: Tihomir Gvero, Viktor Kuncak, Ivan Kuraj, and Ruzica Piskac. 2013. Complete completion using types and weights. In ACM SIGPLAN Notices, Vol. 48. ACM, 27-38.
– reference: Rohin Shah, Sumith Kulal, and Rastislav Bodik. 2018. Scalable Synthesis with Symbolic Syntax Graphs. ( 2018 ).
– reference: Rajeev Alur, Rishabh Singh, Dana Fisman, and Armando Solar-Lezama. 2018. Search-based Program Synthesis. Commun. ACM 61, 12 (Nov. 2018 ), 84-93. https://doi.org/10.1145/3208071 10.1145/3208071
– reference: Daniel Perelman, Sumit Gulwani, Dan Grossman, and Peter Provost. 2014. Test-driven synthesis. ACM Sigplan Notices 49, 6 ( 2014 ), 408-418.
– reference: Susmit Jha, Sumit Gulwani, Sanjit A Seshia, and Ashish Tiwari. 2010. Oracle-guided component-based program synthesis. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, Vol. 1. IEEE, 215-224.
– reference: Xinyu Wang, Isil Dillig, and Rishabh Singh. 2017b. Synthesis of Data Completion Scripts Using Finite Tree Automata. Proc. ACM Program. Lang. 1, OOPSLA, Article 62, 26 pages. https://doi.org/10.1145/3133886 10.1145/3133886
– reference: Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, and Thomas W Reps. 2017b. Component-based synthesis for complex APIs. ACM SIGPLAN Notices 52, 1 ( 2017 ), 599-612.
– reference: Rajeev Alur, Dana Fisman, Rishabh Singh, and Armando Solar-Lezama. 2017a. Sygus-comp 2017 : Results and analysis. arXiv preprint arXiv:1711.11438 ( 2017 ).
– reference: John K Feser, Swarat Chaudhuri, and Isil Dillig. 2015. Synthesizing data structure transformations from input-output examples. In ACM SIGPLAN Notices, Vol. 50. ACM, 229-239.
– reference: Pavol Bielik, Veselin Raychev, and Martin Vechev. 2016. PHOG: probabilistic model for code. In International Conference on Machine Learning. 2933-2942.
– reference: Yanju Chen, Chenglong Wang, Osbert Bastani, Isil Dillig, and Yu Feng. 2020. Program Synthesis Using Deduction-Guided Reinforcement Learning. In International Conference on Computer Aided Verification. Springer, 587-610.
– reference: Andrew Reynolds, Haniel Barbosa, Andres Nötzli, Clark Barrett, and Cesare Tinelli. 2019. cvc 4 sy: smart and fast term enumeration for syntax-guided synthesis. In International Conference on Computer Aided Verification. Springer, 74-83.
– reference: Manos Koukoutos, Etienne Kneuss, and Viktor Kuncak. 2016. An Update on Deductive Synthesis and Repair in the Leon Tool. In Proceedings Fifth Workshop on Synthesis, SYNT@CAV 2016, Toronto, Canada, July 17-18, 2016. 100-111.
– reference: Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Sanjit Seshia, and Vijay Saraswat. 2006. Combinatorial sketching for ifnite programs. ACM SIGOPS Operating Systems Review 40, 5 ( 2006 ), 404-415.
– reference: Chenglong Wang, Alvin Cheung, and Rastislav Bodik. 2017a. Synthesizing highly expressive SQL queries from input-output examples. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, 452-466.
– reference: 2018. Euphony Benchmark Suite. https://github.com/wslee/euphony/tree/master/benchmarks
– reference: Phitchaya Mangpo Phothilimthana, Aditya Thakur, Rastislav Bodik, and Dinakar Dhurjati. 2016. Scaling up Superoptimization. SIGARCH Comput. Archit. News 44, 2 (March 2016 ), 297-310. https://doi.org/10.1145/2980024.2872387 10.1145/2980024.2872387
– reference: Kensen Shi, Jacob Steinhardt, and Percy Liang. 2019. FrAngel: component-based synthesis with control structures. Proceedings of the ACM on Programming Languages 3, POPL ( 2019 ), 1-29. https://dl.acm.org/doi/10.1145/3290386 dl.acm.org/doi/10.1145/3290386
– reference: Sumit Gulwani, Susmit Jha, Ashish Tiwari, and Ramarathnam Venkatesan. 2011. Synthesis of loop-free programs. ACM SIGPLAN Notices 46, 6 ( 2011 ), 62-73.
– reference: Ethem Alpaydin. 2014. Introduction to Machine Learning ( 3 ed.). MIT Press, Cambridge, MA.
– reference: Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, and Abhishek Udupa. 2013. Syntax-guided synthesis. In Formal Methods in Computer-Aided Design, FMCAD 2013, Portland, OR, USA, October 20-23, 2013. 1-8. http://ieeexplore.ieee.org/document/ 6679385/
– reference: Abhishek Udupa, Arun Raghavan, Jyotirmoy V Deshmukh, Sela Mador-Haim, Milo MK Martin, and Rajeev Alur. 2013. TRANSIT: specifying protocols with concolic snippets. ACM SIGPLAN Notices 48, 6 ( 2013 ), 287-296.
– reference: Rajeev Alur, Dana Fisman, Rishabh Singh, and Armando Solar-Lezama. 2016. Sygus-comp 2016: results and analysis. arXiv preprint arXiv:1611.07627 ( 2016 ).
– reference: Vu Le and Sumit Gulwani. 2014. FlashExtract: a framework for data extraction by examples. In Proceedings of the 35th Conference on Programming Language Design and Implementation, Michael F. P. O'Boyle and Keshav Pingali (Eds.). ACM, 55. https://doi.org/10.1145/2594291.2594333 10.1145/2594291.2594333
– reference: Shraddha Barke, Hila Peleg, and Nadia Polikarpova. 2020. Just-in-Time Learning for Bottom-up Enumerative Synthesis. ( 2020 ). https://shraddhabarke.github.io/publication/probe-oopsla
– reference: Jonathan Frankle, Peter-Michael Osera, David Walker, and Steve Zdancewic. 2016. Example-directed Synthesis: A Typetheoretic Interpretation. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (St. Petersburg, FL, USA) ( POPL '16). ACM, New York, NY, USA, 802-815. https://doi.org/10.1145/2837614. 2837629 10.1145/2837614.2837629
– reference: Woosuk Lee, Kihong Heo, Rajeev Alur, and Mayur Naik. 2018. Accelerating search-based program synthesis using learned probabilistic models. ACM SIGPLAN Notices 53, 4 ( 2018 ), 436-449.
– reference: Veselin Raychev, Martin Vechev, and Eran Yahav. 2014. Code completion with statistical language models. In ACM SIGPLAN Notices, Vol. 49. ACM, 419-428.
– reference: Yu Feng, Ruben Martins, Jacob Van Gefen, Isil Dillig, and Swarat Chaudhuri. 2017a. Component-based synthesis of table consolidation and transformation tasks from examples. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, June 18-23, 2017. 422-436.
– reference: Aditya Menon, Omer Tamuz, Sumit Gulwani, Butler Lampson, and Adam Kalai. 2013. A machine learning framework for programming by example. In International Conference on Machine Learning. 187-195.
– reference: Ashwin Kalyan, Abhishek Mohta, Oleksandr Polozov, Dhruv Batra, Prateek Jain, and Sumit Gulwani. 2018. Neural-guided deductive search for real-time program synthesis from examples. arXiv preprint arXiv: 1804. 01186 ( 2018 ).
– reference: Jianhang Gao, Qing Zhao, Wei Ren, Ananthram Swami, Ram Ramanathan, and Amotz Bar-Noy. 2012. Dynamic Shortest Path Algorithms for Hypergraphs. CoRR abs/1202.0082 ( 2012 ). arXiv: 1202.0082 http://arxiv.org/abs/1202.0082
– reference: Rajeev Alur, Arjun Radhakrishna, and Abhishek Udupa. 2017b. Scaling enumerative program synthesis via divide and conquer. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 319-336.
– reference: Calvin Smith and Aws Albarghouthi. 2019. Program Synthesis with Equivalence Reduction. In Verification, Model Checking, and Abstract Interpretation-20th International Conference, VMCAI 2019, Cascais, Portugal, January 13-15, 2019, Proceedings. 24-47. https://doi.org/10.1007/978-3-030-11245-5_2 10.1007/978-3-030-11245-5_2
– reference: Matej Balog, Alexander L Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. Deepcoder: Learning to write programs. arXiv preprint arXiv:1611. 01989 ( 2016 ).
– reference: Sumit Gulwani. 2016. Programming by Examples (and its applications in Data Wrangling). In Verification and Synthesis of Correct and Secure Systems, Javier Esparza, Orna Grumberg, and Salomon Sickert (Eds.). IOS Press.
– reference: Henry S Warren. 2013. Hacker's delight. Pearson Education.
– reference: Kevin Ellis, Lucas Morales, Mathias Sablé Meyer, Armando Solar-Lezama, and Joshua B Tenenbaum. 2018. Search, compress, compile: Library learning in neurally-guided bayesian program learning. Advances in neural information processing systems ( 2018 ).
– reference: Hila Peleg and Nadia Polikarpova. 2020. Perfect is the Enemy of Good: Best-Efort Program Synthesis. In 34th European Conference on Object-Oriented Programming, ECOOP.
– reference: Xujie Si, Yuan Yang, Hanjun Dai, Mayur Naik, and Le Song. 2019. Learning a Meta-Solver for Syntax-Guided Program Synthesis. https://openreview.net/forum?id=Syl8Sn0cK7
– reference: Miltiadis Allamanis, Earl T Barr, Premkumar Devanbu, and Charles Sutton. 2018. A survey of machine learning for big code and naturalness. ACM Computing Surveys (CSUR) 51, 4 ( 2018 ), 1-37.
– reference: Etienne Kneuss, Ivan Kuraj, Viktor Kuncak, and Philippe Suter. 2013. Synthesis Modulo Recursive Functions. SIGPLAN Not. 48, 10 (Oct. 2013 ), 407-426.
– reference: Xinyu Wang, Isil Dillig, and Rishabh Singh. 2017c. Program Synthesis Using Abstraction Refinement. Proc. ACM Program. Lang. 2, POPL, Article 63, 30 pages. https://doi.org/10.1145/3158151 10.1145/3158151
– reference: Peter-Michael Osera and Steve Zdancewic. 2015. Type-and-example-directed program synthesis. In ACM SIGPLAN Notices, Vol. 50. ACM, 619-630.
– ident: e_1_2_2_37_1
  doi: 10.1145/2666356.2594321
– ident: e_1_2_2_1_1
– ident: e_1_2_2_42_1
  doi: 10.1007/978-3-030-11245-5_2
– volume-title: Neural-guided deductive search for real-time program synthesis from examples. arXiv preprint arXiv
  year: 1804
  ident: e_1_2_2_26_1
– volume-title: Armando Solar-Lezama, and Joshua B Tenenbaum.
  year: 2018
  ident: e_1_2_2_14_1
– ident: e_1_2_2_36_1
  doi: 10.1145/2980024.2872387
– ident: e_1_2_2_47_1
  doi: 10.1145/3133886
– volume-title: Introduction to Machine Learning ( 3 ed.)
  ident: e_1_2_2_4_1
– ident: e_1_2_2_22_1
  doi: 10.1145/1993316.1993506
– ident: e_1_2_2_9_1
  doi: 10.1145/3208071
– ident: e_1_2_2_46_1
  doi: 10.1145/3158151
– ident: e_1_2_2_30_1
  doi: 10.1145/2594291.2594333
– ident: e_1_2_2_7_1
  doi: 10.4204/EPTCS.260.9
– volume-title: Verification and Synthesis of Correct and Secure Systems
  ident: e_1_2_2_21_1
– ident: e_1_2_2_35_1
  doi: 10.1145/2666356.2594297
– ident: e_1_2_2_48_1
– ident: e_1_2_2_16_1
  doi: 10.1145/3093333.3009851
– ident: e_1_2_2_24_1
  doi: dl.acm.org/doi/10.1145/3158090
– ident: e_1_2_2_3_1
  doi: 10.1145/3212695
– volume-title: International Conference on Machine Learning. 2933-2942
  year: 2016
  ident: e_1_2_2_12_1
– ident: e_1_2_2_17_1
  doi: 10.1145/2813885.2737977
– ident: e_1_2_2_2_1
  doi: 10.1007/978-3-642-39799-8_67
– ident: e_1_2_2_40_1
  doi: dl.acm.org/doi/10.1145/3290386
– ident: e_1_2_2_29_1
– ident: e_1_2_2_20_1
  doi: 10.1145/1926385.1926423
– ident: e_1_2_2_28_1
  doi: 10.4204/EPTCS.229.9
– ident: e_1_2_2_27_1
  doi: 10.1145/2544173.2509555
– ident: e_1_2_2_11_1
  doi: 10.1145/3428295
– ident: e_1_2_2_43_1
  doi: 10.1145/1168917.1168907
– volume-title: 34th European Conference on Object-Oriented Programming, ECOOP.
  year: 2020
  ident: e_1_2_2_34_1
– volume-title: International Conference on Machine Learning. 187-195
  year: 2013
  ident: e_1_2_2_32_1
– ident: e_1_2_2_18_1
  doi: 10.1145/2837614.2837629
– ident: e_1_2_2_45_1
  doi: 10.1145/3062341.3062365
– ident: e_1_2_2_33_1
  doi: 10.1145/2737924.2738007
– volume-title: Deepcoder: Learning to write programs. arXiv preprint arXiv:1611. 01989 ( 2016 ).
  year: 2016
  ident: e_1_2_2_10_1
– ident: e_1_2_2_41_1
– ident: e_1_2_2_19_1
– volume-title: Program Synthesis Using Deduction-Guided Reinforcement Learning. In International Conference on Computer Aided Verification. Springer, 587-610
  year: 2020
  ident: e_1_2_2_13_1
– ident: e_1_2_2_8_1
  doi: 10.1007/978-3-662-54577-5_18
– ident: e_1_2_2_23_1
  doi: 10.1145/2491956.2462192
– ident: e_1_2_2_6_1
  doi: 10.4204/EPTCS.229.13
– ident: e_1_2_2_25_1
  doi: 10.1145/1806799.1806833
– ident: e_1_2_2_31_1
  doi: 10.1145/3296979.3192410
– volume-title: Milo MK Martin, and Rajeev Alur
  year: 2013
  ident: e_1_2_2_44_1
– volume-title: FMCAD 2013
  year: 2013
  ident: e_1_2_2_5_1
– ident: e_1_2_2_15_1
  doi: 10.1145/3062341.3062351
– ident: e_1_2_2_39_1
– ident: e_1_2_2_38_1
  doi: 10.1007/978-3-030-25543-5_5
SSID ssj0001934839
Score 2.3469746
Snippet A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work...
SourceID crossref
acm
SourceType Enrichment Source
Index Database
Publisher
StartPage 1
SubjectTerms Context specific languages
Domain specific languages
Programming by example
Software and its engineering
Software notations and tools
SubjectTermsDisplay Software and its engineering -- Software notations and tools -- Context specific languages -- Domain specific languages
Software and its engineering -- Software notations and tools -- Context specific languages -- Programming by example
Title Just-in-time learning for bottom-up enumerative synthesis
URI https://dl.acm.org/doi/10.1145/3428295
Volume 4
WOSCitedRecordID wos000685203900104&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
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2475-1421
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001934839
  issn: 2475-1421
  databaseCode: M~E
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1NT9wwELXaLYdeoIUiFmjlA-KCDE3sxPFxhUAc-FgJkLitvLFXRCzZ1WZBy4XfzkziJNaC1PbQSxRZthV5Rm8m45l5hOwpnaoolIYpyYdMiKFmibWSpSGPI66xEaUpySbk5WVyd6f67ga_KOkEZJ4ni4Wa_ldRwxgIG0tn_0HczaYwAO8gdHiC2OH5V4JHfi6W5QxZ42tSiCpZElnDABKfpgeY_25dz-_iJQcnsMgK30_tN3atTPXoHV_grYJL5nrEDetAZxtmbxJ97mcAZ_e6Rd2xLQHlLBu3g5Nx9qBn08mzrkDeZNqPQMDvJmbB8RaoQiEjFoiq0vnQfjDmkFZ4CnV11b8-73nQGXg2uAqCvEd3gY0wuMDb36g1YPWl_ZJda7INq9rraOAWfiZfQhkpRPGLVy8gp7hISua55turImtce-TWog-TPno-jOeM3Hwjq-4vgvYq6X8nn2y-TtZqhg7qAHuDKF8ZaK0MFJSBNspAPWWgjTL8ILenJzfHZ8yRZTAdSjlnsbZJyrnCoB43XPDECmlDbUI7AqcPiQSVNSIZaXBZNTjt8VAZqXXAA25SPuKbpJNPcrtFKPhwJojTGOykEkZgdbIYyt_YFwiczTjpknU4hMG0aodSH2uX7NeHMkhdf3mkORkPls6_S2gzsd5jacr2n6fskK-tLu6Sznz2ZH-SlfR5nhWzX6Vo3wAan2Ya
linkProvider ISSN International Centre
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%3Ajournal&rft.genre=article&rft.atitle=Just-in-time+learning+for+bottom-up+enumerative+synthesis&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Barke%2C+Shraddha&rft.au=Peleg%2C+Hila&rft.au=Polikarpova%2C+Nadia&rft.date=2020-11-13&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=4&rft.issue=OOPSLA&rft.spage=1&rft.epage=29&rft_id=info:doi/10.1145%2F3428295&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3428295
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon