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...
Gespeichert in:
| Veröffentlicht in: | Proceedings of ACM on programming languages Jg. 4; H. OOPSLA; S. 1 - 29 |
|---|---|
| Hauptverfasser: | , , |
| 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 |