Top-Down Synthesis for Library Learning
This paper introduces corpus-guided top-down synthesis as a mechanism for synthesizing library functions that capture common functionality from a corpus of programs in a domain specific language (DSL). The algorithm builds abstractions directly from initial DSL primitives, using syntactic pattern ma...
Saved in:
| Published in: | Proceedings of ACM on programming languages Vol. 7; no. POPL; pp. 1182 - 1213 |
|---|---|
| Main Authors: | , , , , , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York, NY, USA
ACM
09.01.2023
|
| Subjects: | |
| ISSN: | 2475-1421, 2475-1421 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | This paper introduces corpus-guided top-down synthesis as a mechanism for synthesizing library functions that capture common functionality from a corpus of programs in a domain specific language (DSL). The algorithm builds abstractions directly from initial DSL primitives, using syntactic pattern matching of intermediate abstractions to intelligently prune the search space and guide the algorithm towards abstractions that maximally capture shared structures in the corpus. We present an implementation of the approach in a tool called Stitch and evaluate it against the state-of-the-art deductive library learning algorithm from DreamCoder. Our evaluation shows that Stitch is 3-4 orders of magnitude faster and uses 2 orders of magnitude less memory while maintaining comparable or better library quality (as measured by compressivity). We also demonstrate Stitch’s scalability on corpora containing hundreds of complex programs that are intractable with prior deductive approaches and show empirically that it is robust to terminating the search procedure early—further allowing it to scale to challenging datasets by means of early stopping. |
|---|---|
| AbstractList | This paper introduces corpus-guided top-down synthesis as a mechanism for synthesizing library functions that capture common functionality from a corpus of programs in a domain specific language (DSL). The algorithm builds abstractions directly from initial DSL primitives, using syntactic pattern matching of intermediate abstractions to intelligently prune the search space and guide the algorithm towards abstractions that maximally capture shared structures in the corpus. We present an implementation of the approach in a tool called Stitch and evaluate it against the state-of-the-art deductive library learning algorithm from DreamCoder. Our evaluation shows that Stitch is 3-4 orders of magnitude faster and uses 2 orders of magnitude less memory while maintaining comparable or better library quality (as measured by compressivity). We also demonstrate Stitch’s scalability on corpora containing hundreds of complex programs that are intractable with prior deductive approaches and show empirically that it is robust to terminating the search procedure early—further allowing it to scale to challenging datasets by means of early stopping. |
| ArticleNumber | 41 |
| Author | Bowers, Matthew Olausson, Theo X. Ellis, Kevin Solar-Lezama, Armando Grand, Gabriel Wong, Lionel Tenenbaum, Joshua B. |
| Author_xml | – sequence: 1 givenname: Matthew orcidid: 0000-0001-8450-7033 surname: Bowers fullname: Bowers, Matthew email: mlbowers@mit.edu organization: Massachusetts Institute of Technology, USA – sequence: 2 givenname: Theo X. orcidid: 0000-0001-6653-2227 surname: Olausson fullname: Olausson, Theo X. email: theoxo@mit.edu organization: Massachusetts Institute of Technology, USA – sequence: 3 givenname: Lionel orcidid: 0000-0001-8814-7629 surname: Wong fullname: Wong, Lionel email: zyzzyva@mit.edu organization: Massachusetts Institute of Technology, USA – sequence: 4 givenname: Gabriel orcidid: 0000-0003-1920-0021 surname: Grand fullname: Grand, Gabriel email: grandg@mit.edu organization: Massachusetts Institute of Technology, USA – sequence: 5 givenname: Joshua B. orcidid: 0000-0002-1925-2035 surname: Tenenbaum fullname: Tenenbaum, Joshua B. email: jbt@mit.edu organization: Massachusetts Institute of Technology, USA – sequence: 6 givenname: Kevin orcidid: 0000-0001-6586-0632 surname: Ellis fullname: Ellis, Kevin email: kellis@cornell.edu organization: Cornell University, USA – sequence: 7 givenname: Armando orcidid: 0000-0001-7604-8252 surname: Solar-Lezama fullname: Solar-Lezama, Armando email: asolar@csail.mit.edu organization: Massachusetts Institute of Technology, USA |
| BookMark | eNptj01LAzEYhINUsNbi3dPeeorNm2Q3u0epn7DQg_W8vJtNNNImJQlI_72VVhHxNAPzMMyck5EP3hByCewaQJZzUSrgQp6QMZeqpCA5jH75MzJN6Z0xBo2QtWjGZLYKW3obPnzxvPP5zSSXChti0bo-YtwVrcHonX-9IKcW18lMjzohL_d3q8UjbZcPT4ubliJXKlNdKqyGGlEh56Bx0ChxYA3XtYC-kYYZVVWGSasE9rziliHvobYaNGtkJSZkdujVMaQUje220W32Szpg3dfF7nhxT9I_pHYZsws-R3Trf_irA49681P6HX4C82laZQ |
| CitedBy_id | crossref_primary_10_1145_3607185 crossref_primary_10_3390_info16050401 crossref_primary_10_3390_a17070287 crossref_primary_10_1145_3592416 crossref_primary_10_1038_s41562_023_01719_1 crossref_primary_10_1145_3656453 crossref_primary_10_1145_3632860 crossref_primary_10_1098_rsta_2022_0050 crossref_primary_10_1109_ACCESS_2025_3564392 crossref_primary_10_1145_3571207 crossref_primary_10_1145_3704905 |
| Cites_doi | 10.1016/j.disopt.2016.01.005 10.1145/2635868.2635901 10.1145/2908080.2908093 10.1145/96709.96712 10.5281/zenodo.7151663 10.1109/TSSC.1968.300136 10.1016/0304-3975(75)90011-0 10.1016/1385-7258(72)90034-0 10.1145/3453483.3454080 10.1145/3434304 10.1145/3450626.3459821 10.1126/science.298.5594.824 10.1145/322003.322010 10.2307/1910129 10.1145/3212695 10.1016/0304-3975(92)90014-7 10.1145/3385412.3385988 10.1145/2993236.2993244 10.1023/A:1025671410623 10.1016/0747-7171(92)90011-R 10.1145/321992.321996 10.1145/3571207 10.1145/2813885.2737977 10.1007/11599128_7 10.1109/ICDM.2001.989534 10.1093/logcom/1.4.497 10.1145/2736282 10.1145/357084.357090 10.1007/3-540-15975-4_37 10.1145/2814270.2814310 10.1137/1.9781611972740.32 10.1007/s10601-014-9173-7 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3571234 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 1213 |
| ExternalDocumentID | 10_1145_3571234 3571234 |
| GrantInformation_xml | – fundername: NSF (National Science Foundation) grantid: 2141064,1918839 funderid: http://dx.doi.org/10.13039/100000001 – fundername: DARPA grantid: FA8750-20-C-0542 funderid: http://dx.doi.org/10.13039/ – fundername: AFOSR grantid: FA9550-19-1-026 funderid: http://dx.doi.org/10.13039/ |
| GroupedDBID | AAKMM AAYFX ACM ADPZR AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX AEFXT AEJOY CITATION |
| ID | FETCH-LOGICAL-a277t-c57a6d8aa7a221cadca4ad092c831b94e0e766e04f73ab262f0a2b18fc1c09463 |
| ISICitedReferencesCount | 19 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000910847500041&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:54:54 EST 2025 Tue Nov 18 22:04:20 EST 2025 Mon Mar 17 16:30:36 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | POPL |
| Keywords | Library Learning Abstraction Learning Program Synthesis |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution 4.0 International License. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a277t-c57a6d8aa7a221cadca4ad092c831b94e0e766e04f73ab262f0a2b18fc1c09463 |
| ORCID | 0000-0003-1920-0021 0000-0001-8814-7629 0000-0001-6586-0632 0000-0001-8450-7033 0000-0002-1925-2035 0000-0001-6653-2227 0000-0001-7604-8252 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3571234 |
| PageCount | 32 |
| ParticipantIDs | crossref_primary_10_1145_3571234 crossref_citationtrail_10_1145_3571234 acm_primary_3571234 |
| PublicationCentury | 2000 |
| PublicationDate | 2023-01-09 |
| PublicationDateYYYYMMDD | 2023-01-09 |
| PublicationDate_xml | – month: 01 year: 2023 text: 2023-01-09 day: 09 |
| 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 | 2023 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | Rod M Burstall and John Darlington. 1977. A transformation system for developing recursive programs. Journal of the ACM (JACM), 24, 1 (1977), 44–67. Miguel Lázaro-Gredilla, Dianhuan Lin, J Swaroop Guntupalli, and Dileep George. 2019. Beyond imitation: Zero-shot task transfer on robots by learning concepts as cognitive programs. Science Robotics, 4, 26 (2019), eaav3150. Tessa Lau, Steven A Wolfman, Pedro Domingos, and Daniel S Weld. 2003. Programming by demonstration using version space algebra. Machine Learning, 53, 1 (2003), 111–156. Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sablé-Meyer, Lucas Morales, Luke Hewitt, Luc Cary, Armando Solar-Lezama, and Joshua B Tenenbaum. 2021. Dreamcoder: Bootstrapping inductive program synthesis with wake-sleep library learning. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. 835–850. John K Feser, Swarat Chaudhuri, and Isil Dillig. 2015. Synthesizing data structure transformations from input-output examples. ACM SIGPLAN Notices, 50, 6 (2015), 229–239. Eyal Dechter, Jonathan Malmaud, Ryan Prescott Adams, and Joshua B Tenenbaum. 2013. Bootstrap learning via modular concept discovery. In Proceedings of the International Joint Conference on Artificial Intelligence. Dale Miller. 1991. A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification. Journal of Logic and Computation, 1, 4 (1991), 497–536. Eui Chul Shin, Miltiadis Allamanis, Marc Brockschmidt, and Alex Polozov. 2019. Program synthesis and semantic parsing with learned code idioms. Advances in Neural Information Processing Systems, 32 (2019). Percy Liang, Michael I Jordan, and Dan Klein. 2010. Learning programs: A hierarchical Bayesian approach. In Proceedings of the 27th International Conference on Machine Learning (ICML-10). 639–646. Thomas Johnsson. 1985. Lambda Lifting: Treansforming Programs to Recursive Equations. In Functional Programming Languages and Computer Architecture, FPCA 1985, Nancy, France, September 16-19, 1985, Proceedings, Jean-Pierre Jouannaud (Ed.) (Lecture Notes in Computer Science, Vol. 201). Springer, 190–203. https://doi.org/10.1007/3-540-15975-4_37 10.1007/3-540-15975-4_37 Mina Lee, Sunbeom So, and Hakjoo Oh. 2016. Synthesizing regular expressions from examples for introductory automata assignments. In Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016, Amsterdam, The Netherlands, October 31 - November 1, 2016, Bernd Fischer and Ina Schaefer (Eds.). ACM, 70–80. https://doi.org/10.1145/2993236.2993244 10.1145/2993236.2993244 Robert John Henderson. 2013. Cumulative learning in the lambda calculus. A. H. Land and A. G. Doig. 1960. An Automatic Method of Solving Discrete Programming Problems. Econometrica, 28, 3 (1960), 497–520. issn:00129682, 14680262 http://www.jstor.org/stable/1910129 Dianhuan Lin, Eyal Dechter, Kevin Ellis, Joshua B Tenenbaum, and Stephen H Muggleton. 2014. Bias reformulation for one-shot function induction. Gilles Dowek, Thérèse Hardin, Claude Kirchner, and Frank Pfenning. 1996. Unification via Explicit Substitutions: The Case of Higher-Order Patterns. In Proceedings of the Joint International Conference and Symposium on Logic Programming, M. Maher (Ed.). MIT Press, Bonn, Germany. 259–273. Matthias Felleisen and Robert Hieb. 1992. The Revised Report on the Syntactic Theories of Sequential Control and State. Theor. Comput. Sci., 103, 2 (1992), sep, 235–271. issn:0304-3975 https://doi.org/10.1016/0304-3975(92)90014-7 10.1016/0304-3975(92)90014-7 Xinyun Chen, Chang Liu, and Dawn Song. 2018. Execution-guided neural program synthesis. In International Conference on Learning Representations. Tom M Mitchell. 1977. Version spaces: A candidate elimination approach to rule learning. In Proceedings of the 5th international joint conference on Artificial intelligence-Volume 1. 305–310. Geoffrey Chu and Peter J. Stuckey. 2015. Dominance breaking constraints. Constraints An Int. J., 20, 2 (2015), 155–182. https://doi.org/10.1007/s10601-014-9173-7 10.1007/s10601-014-9173-7 Catherine Wong, William McCarthy, Gabriel Grand, Jacob Andreas, Joshua B Tenenbaum, Robert Hawkins, and Judy Fan. 2022. Identifying concept libraries from language about object structure. In CogSci. To appear. Peter E. Hart, Nils J. Nilsson, and Bertram Raphael. 1968. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Trans. Syst. Sci. Cybern., 4, 2 (1968), 100–107. https://doi.org/10.1109/TSSC.1968.300136 10.1109/TSSC.1968.300136 Andrew Cropper. 2019. Playgol: Learning programs through play. arXiv preprint arXiv:1904.08993. Oleksandr Polozov and Sumit Gulwani. 2015. Flashmeta: A framework for inductive program synthesis. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 107–126. Matej Balog, Alexander L Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. Deepcoder: Learning to write programs. arXiv preprint arXiv:1611.01989. Gilles Dowek, Thérèse Hardin, and Claude Kirchner. 1995. Higher-Order Unification via Explicit Substitutions. In Proceedings of the Tenth Annual Symposium on Logic in Computer Science, D. Kozen (Ed.). IEEE Computer Society Press, San Diego, California. 366–374. Michihiro Kuramochi and George Karypis. 2001. Frequent Subgraph Discovery. In Proceedings of the 2001 IEEE International Conference on Data Mining, 29 November - 2 December 2001, San Jose, California, USA, Nick Cercone, Tsau Young Lin, and Xindong Wu (Eds.). IEEE Computer Society, 313–320. https://doi.org/10.1109/ICDM.2001.989534 10.1109/ICDM.2001.989534 Martin Abadi, Luca Cardelli, P-L Curien, and J-J Lévy. 1989. Explicit substitutions. In Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. 31–46. Ameesh Shah, Eric Zhan, Jennifer Sun, Abhinav Verma, Yisong Yue, and Swarat Chaudhuri. 2020. Learning Differentiable Programs with Admissible Neural Heuristics. In Advances in Neural Information Processing Systems, H. Larochelle, M. Ranzato, R. Hadsell, M.F. Balcan, and H. Lin (Eds.). 33, Curran Associates, Inc., 4940–4952. https://proceedings.neurips.cc/paper/2020/file/342285bb2a8cadef22f667eeb6a63732-Paper.pdf Kevin M Ellis, Lucas E Morales, Mathias Sablé-Meyer, Armando Solar Lezama, and Joshua B Tenenbaum. 2018. Library learning for neurally-guided bayesian program induction. Nicolaas Govert de Bruijn. 1972. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. In Indagationes Mathematicae (Proceedings). 75, 381–392. Max Willsey, Chandrakana Nandi, Yisu Remy Wang, Oliver Flatt, Zachary Tatlock, and Pavel Panchekha. 2021. Egg: Fast and Extensible Equality Saturation. Proc. ACM Program. Lang., 5, POPL (2021), Article 23, jan, 29 pages. https://doi.org/10.1145/3434304 10.1145/3434304 Maxwell Nye, Yewen Pu, Matthew Bowers, Jacob Andreas, Joshua B Tenenbaum, and Armando Solar-Lezama. 2021. Representing Partial Programs with Blended Abstract Semantics. In International Conference on Learning Representations. Toshihide Ibaraki. 1977. The Power of Dominance Relations in Branch-and-Bound Algorithms. J. ACM, 24, 2 (1977), 264–279. https://doi.org/10.1145/322003.322010 10.1145/322003.322010 Catherine Wong, Kevin M Ellis, Joshua Tenenbaum, and Jacob Andreas. 2021. Leveraging language to learn program abstractions and search heuristics. In International Conference on Machine Learning. 11193–11204. David Cao, Rose Kunkel, Chandrakana Nandi, Max Willsey, Zachary Tatlock, and Nadia Polikarpova. 2023. babble: Learning Better Abstractions with E-Graphs and Anti-Unification. Proc. ACM Program. Lang., https://doi.org/10.1145/3571207 10.1145/3571207 Qiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett, and Isil Dillig. 2020. Multi-modal synthesis of regular expressions. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020, Alastair F. Donaldson and Emina Torlak (Eds.). ACM, 487–502. https://doi.org/10.1145/3385412.3385988 10.1145/3385412.3385988 Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sable-Meyer, Luc Cary, Lucas Morales, Luke Hewitt, Armando Solar-Lezama, and Joshua B Tenenbaum. 2020. Dreamcoder: Growing generalizable, interpretable knowledge with wake-sleep bayesian program learning. arXiv preprint arXiv:2006.08381. Manos Koukoutos, Mukund Raghothaman, Etienne Kneuss, and Viktor Kuncak. 2017. On repair with probabilistic attribute grammars. arXiv preprint arXiv:1707.04148. R. Milo, S. Shen-Orr, S. Itzkovitz, N. Kashtan, D. Chklovskii, and U. Alon. 2002. Network Motifs: Simple Building Blocks of Complex Networks. Science, 298, 5594 (2002), 824–827. https://doi.org/10.1126/science.298.5594.824 arxiv:https://www.science.org/doi/pdf/10.1126/science.298.5594.824. 10.1126/science.298.5594.824 Michihiro Kuramochi and George Karypis. 2004. Finding Frequent Patterns in a Large Sparse Graph. In Proceedings of the Fourth SIAM International Conference on Data Mining, Lake Buena Vista, Florida, USA, April 22-24, 2004, Michael W. Berry, Umeshwar Dayal, Chandrika Kamath, and David B. Skillicorn (Eds.). SIAM, 345–356. https://doi.org/10.1137/1.9781611972740.32 10.1137/1.9781611972740.32 David R. Morrison, Sheldon H. Jacobson, Jason J. Sauppe, and Edward C. Sewell. 2016. Branch-and-bound algorithms: A survey of recent advances in searching, branching, and pruning. Discret. Optim., 19 (2016), 79–102. https://doi.org/10.1016/j.disopt.2016.01.005 10.1016/j.disopt.2016.01.005 Claude Elwood Shannon. 1948. A mathematical theory of communication. The Bell system technical journal, 27, 3 (1948), 379–423. Miltiadis Allamanis and Charles Sutton. 2014. Mining idioms from source code. In Proceedings of the 22nd acm sigsoft international symposium on foundations of software engineering. 472–483. Adam Chlip e_1_2_2_24_1 e_1_2_2_49_1 e_1_2_2_6_1 e_1_2_2_20_1 e_1_2_2_2_1 e_1_2_2_41_1 e_1_2_2_43_1 e_1_2_2_8_1 e_1_2_2_28_1 e_1_2_2_26_1 Dechter Eyal (e_1_2_2_14_1) 2013 Jones R Kenny (e_1_2_2_31_1) 2021; 40 Wong Catherine (e_1_2_2_56_1) 2021 Dowek Gilles (e_1_2_2_16_1) 1996 e_1_2_2_13_1 e_1_2_2_38_1 e_1_2_2_11_1 e_1_2_2_30_1 Ellis Kevin (e_1_2_2_17_1) 2020 e_1_2_2_32_1 e_1_2_2_34_1 e_1_2_2_55_1 e_1_2_2_36_1 e_1_2_2_57_1 Liang Percy (e_1_2_2_39_1) 2010 Chlipala Adam (e_1_2_2_10_1) 2017 Nye Maxwell (e_1_2_2_47_1) 2021 e_1_2_2_25_1 e_1_2_2_48_1 e_1_2_2_5_1 e_1_2_2_23_1 e_1_2_2_7_1 e_1_2_2_21_1 e_1_2_2_1_1 e_1_2_2_3_1 e_1_2_2_40_1 e_1_2_2_42_1 e_1_2_2_29_1 e_1_2_2_44_1 e_1_2_2_27_1 e_1_2_2_46_1 Shah Ameesh (e_1_2_2_51_1) 2020 Mitchell Tom M (e_1_2_2_45_1) 1977 Dowek Gilles (e_1_2_2_15_1) 1995 Ganin Yaroslav (e_1_2_2_22_1) 2018 e_1_2_2_54_1 e_1_2_2_18_1 e_1_2_2_33_1 Shin Eui Chul (e_1_2_2_53_1) 2019 Chen Xinyun (e_1_2_2_9_1) 2018 Cropper Andrew (e_1_2_2_12_1) 2019 e_1_2_2_35_1 Balog Matej (e_1_2_2_4_1) 2016 Lázaro-Gredilla Miguel (e_1_2_2_37_1) 2019 Shannon Claude Elwood (e_1_2_2_52_1) 1948 e_1_2_2_50_1 Ellis Kevin M (e_1_2_2_19_1) 2018 |
| References_xml | – reference: Matej Balog, Alexander L Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. Deepcoder: Learning to write programs. arXiv preprint arXiv:1611.01989. – reference: Eui Chul Shin, Miltiadis Allamanis, Marc Brockschmidt, and Alex Polozov. 2019. Program synthesis and semantic parsing with learned code idioms. Advances in Neural Information Processing Systems, 32 (2019). – reference: Nicolaas Govert de Bruijn. 1972. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. In Indagationes Mathematicae (Proceedings). 75, 381–392. – reference: Catherine Wong, Kevin M Ellis, Joshua Tenenbaum, and Jacob Andreas. 2021. Leveraging language to learn program abstractions and search heuristics. In International Conference on Machine Learning. 11193–11204. – reference: Miguel Lázaro-Gredilla, Dianhuan Lin, J Swaroop Guntupalli, and Dileep George. 2019. Beyond imitation: Zero-shot task transfer on robots by learning concepts as cognitive programs. Science Robotics, 4, 26 (2019), eaav3150. – reference: Claude Elwood Shannon. 1948. A mathematical theory of communication. The Bell system technical journal, 27, 3 (1948), 379–423. – reference: Kevin M Ellis, Lucas E Morales, Mathias Sablé-Meyer, Armando Solar Lezama, and Joshua B Tenenbaum. 2018. Library learning for neurally-guided bayesian program induction. – reference: Toshihide Ibaraki. 1977. The Power of Dominance Relations in Branch-and-Bound Algorithms. J. ACM, 24, 2 (1977), 264–279. https://doi.org/10.1145/322003.322010 10.1145/322003.322010 – reference: Gilles Dowek, Thérèse Hardin, and Claude Kirchner. 1995. Higher-Order Unification via Explicit Substitutions. In Proceedings of the Tenth Annual Symposium on Logic in Computer Science, D. Kozen (Ed.). IEEE Computer Society Press, San Diego, California. 366–374. – reference: Geoffrey Chu and Peter J. Stuckey. 2015. Dominance breaking constraints. Constraints An Int. J., 20, 2 (2015), 155–182. https://doi.org/10.1007/s10601-014-9173-7 10.1007/s10601-014-9173-7 – reference: Max Willsey, Chandrakana Nandi, Yisu Remy Wang, Oliver Flatt, Zachary Tatlock, and Pavel Panchekha. 2021. Egg: Fast and Extensible Equality Saturation. Proc. ACM Program. Lang., 5, POPL (2021), Article 23, jan, 29 pages. https://doi.org/10.1145/3434304 10.1145/3434304 – reference: Adam Chlipala, Benjamin Delaware, Samuel Duchovni, Jason Gross, Clément Pit-Claudel, Sorawit Suriyakarn, Peng Wang, and Katherine Ye. 2017. The end of history? Using a proof assistant to replace language design with library design. In 2nd Summit on Advances in Programming Languages (SNAPL 2017). – reference: Mina Lee, Sunbeom So, and Hakjoo Oh. 2016. Synthesizing regular expressions from examples for introductory automata assignments. In Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2016, Amsterdam, The Netherlands, October 31 - November 1, 2016, Bernd Fischer and Ina Schaefer (Eds.). ACM, 70–80. https://doi.org/10.1145/2993236.2993244 10.1145/2993236.2993244 – reference: Rod M Burstall and John Darlington. 1977. A transformation system for developing recursive programs. Journal of the ACM (JACM), 24, 1 (1977), 44–67. – reference: Dale Miller. 1992. Unification under a Mixed Prefix. Journal of Symbolic Computation, 14 (1992), 321–358. – reference: Tessa Lau, Steven A Wolfman, Pedro Domingos, and Daniel S Weld. 2003. Programming by demonstration using version space algebra. Machine Learning, 53, 1 (2003), 111–156. – reference: John K Feser, Swarat Chaudhuri, and Isil Dillig. 2015. Synthesizing data structure transformations from input-output examples. ACM SIGPLAN Notices, 50, 6 (2015), 229–239. – 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: Gilles Dowek, Thérèse Hardin, Claude Kirchner, and Frank Pfenning. 1996. Unification via Explicit Substitutions: The Case of Higher-Order Patterns. In Proceedings of the Joint International Conference and Symposium on Logic Programming, M. Maher (Ed.). MIT Press, Bonn, Germany. 259–273. – reference: Andrew Cropper. 2019. Playgol: Learning programs through play. arXiv preprint arXiv:1904.08993. – reference: Matthew Bowers, Olausson, Wong, Grand, Tenenbaum, Ellis, and Solar-Lezama. 2022. Artifact for "Top-Down Synthesis For Library Learning". https://doi.org/10.5281/zenodo.7151663 10.5281/zenodo.7151663 – reference: Irvin Hwang, Andreas Stuhlmüller, and Noah D Goodman. 2011. Inducing probabilistic programs by Bayesian program merging. arXiv preprint arXiv:1110.5667. – reference: Miltiadis Allamanis and Charles Sutton. 2014. Mining idioms from source code. In Proceedings of the 22nd acm sigsoft international symposium on foundations of software engineering. 472–483. – reference: Peter E. Hart, Nils J. Nilsson, and Bertram Raphael. 1968. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Trans. Syst. Sci. Cybern., 4, 2 (1968), 100–107. https://doi.org/10.1109/TSSC.1968.300136 10.1109/TSSC.1968.300136 – reference: Martin Abadi, Luca Cardelli, P-L Curien, and J-J Lévy. 1989. Explicit substitutions. In Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. 31–46. – reference: Michihiro Kuramochi and George Karypis. 2004. Finding Frequent Patterns in a Large Sparse Graph. In Proceedings of the Fourth SIAM International Conference on Data Mining, Lake Buena Vista, Florida, USA, April 22-24, 2004, Michael W. Berry, Umeshwar Dayal, Chandrika Kamath, and David B. Skillicorn (Eds.). SIAM, 345–356. https://doi.org/10.1137/1.9781611972740.32 10.1137/1.9781611972740.32 – reference: Zohar Manna and Richard Waldinger. 1980. A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems (TOPLAS), 2, 1 (1980), 90–121. – reference: Robert John Henderson. 2013. Cumulative learning in the lambda calculus. – reference: Michihiro Kuramochi and George Karypis. 2001. Frequent Subgraph Discovery. In Proceedings of the 2001 IEEE International Conference on Data Mining, 29 November - 2 December 2001, San Jose, California, USA, Nick Cercone, Tsau Young Lin, and Xindong Wu (Eds.). IEEE Computer Society, 313–320. https://doi.org/10.1109/ICDM.2001.989534 10.1109/ICDM.2001.989534 – reference: Nadia Polikarpova, Ivan Kuraj, and Armando Solar-Lezama. 2016. Program synthesis from polymorphic refinement types. ACM SIGPLAN Notices, 51, 6 (2016), 522–538. – reference: Xinyun Chen, Chang Liu, and Dawn Song. 2018. Execution-guided neural program synthesis. In International Conference on Learning Representations. – reference: Thomas Johnsson. 1985. Lambda Lifting: Treansforming Programs to Recursive Equations. In Functional Programming Languages and Computer Architecture, FPCA 1985, Nancy, France, September 16-19, 1985, Proceedings, Jean-Pierre Jouannaud (Ed.) (Lecture Notes in Computer Science, Vol. 201). Springer, 190–203. https://doi.org/10.1007/3-540-15975-4_37 10.1007/3-540-15975-4_37 – reference: Gérard Huet. 1975. A Unification Algorithm for Typed λ -Calculus. Theoretical Computer Science, 1 (1975), 27–57. – reference: Manos Koukoutos, Mukund Raghothaman, Etienne Kneuss, and Viktor Kuncak. 2017. On repair with probabilistic attribute grammars. arXiv preprint arXiv:1707.04148. – reference: Eyal Dechter, Jonathan Malmaud, Ryan Prescott Adams, and Joshua B Tenenbaum. 2013. Bootstrap learning via modular concept discovery. In Proceedings of the International Joint Conference on Artificial Intelligence. – reference: Oleksandr Polozov and Sumit Gulwani. 2015. Flashmeta: A framework for inductive program synthesis. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 107–126. – reference: Sumit Gulwani, José Hernández-Orallo, Emanuel Kitzelmann, Stephen H Muggleton, Ute Schmid, and Benjamin Zorn. 2015. Inductive programming meets the real world. Commun. ACM, 58, 11 (2015), 90–99. – reference: Maxwell Nye, Yewen Pu, Matthew Bowers, Jacob Andreas, Joshua B Tenenbaum, and Armando Solar-Lezama. 2021. Representing Partial Programs with Blended Abstract Semantics. In International Conference on Learning Representations. – reference: Falk Schreiber and Henning Schwöbbermeyer. 2005. Frequency Concepts and Pattern Detection for the Analysis of Motifs in Networks. Trans. Comp. Sys. Biology, 3 (2005), 89–104. https://doi.org/10.1007/11599128_7 10.1007/11599128_7 – reference: Qiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett, and Isil Dillig. 2020. Multi-modal synthesis of regular expressions. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020, Alastair F. Donaldson and Emina Torlak (Eds.). ACM, 487–502. https://doi.org/10.1145/3385412.3385988 10.1145/3385412.3385988 – reference: Thoralf Skolem. 1920. Logisch-kombinatorische Untersuchungen über die Erfüllbarkeit oder Bewiesbarkeit mathematischer Sätze nebst einem Theorem über dichte Mengen. – reference: Tom M Mitchell. 1977. Version spaces: A candidate elimination approach to rule learning. In Proceedings of the 5th international joint conference on Artificial intelligence-Volume 1. 305–310. – reference: Matthias Felleisen and Robert Hieb. 1992. The Revised Report on the Syntactic Theories of Sequential Control and State. Theor. Comput. Sci., 103, 2 (1992), sep, 235–271. issn:0304-3975 https://doi.org/10.1016/0304-3975(92)90014-7 10.1016/0304-3975(92)90014-7 – reference: R. Milo, S. Shen-Orr, S. Itzkovitz, N. Kashtan, D. Chklovskii, and U. Alon. 2002. Network Motifs: Simple Building Blocks of Complex Networks. Science, 298, 5594 (2002), 824–827. https://doi.org/10.1126/science.298.5594.824 arxiv:https://www.science.org/doi/pdf/10.1126/science.298.5594.824. 10.1126/science.298.5594.824 – reference: A. H. Land and A. G. Doig. 1960. An Automatic Method of Solving Discrete Programming Problems. Econometrica, 28, 3 (1960), 497–520. issn:00129682, 14680262 http://www.jstor.org/stable/1910129 – reference: Dianhuan Lin, Eyal Dechter, Kevin Ellis, Joshua B Tenenbaum, and Stephen H Muggleton. 2014. Bias reformulation for one-shot function induction. – reference: Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sablé-Meyer, Lucas Morales, Luke Hewitt, Luc Cary, Armando Solar-Lezama, and Joshua B Tenenbaum. 2021. Dreamcoder: Bootstrapping inductive program synthesis with wake-sleep library learning. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. 835–850. – reference: David Cao, Rose Kunkel, Chandrakana Nandi, Max Willsey, Zachary Tatlock, and Nadia Polikarpova. 2023. babble: Learning Better Abstractions with E-Graphs and Anti-Unification. Proc. ACM Program. Lang., https://doi.org/10.1145/3571207 10.1145/3571207 – reference: David R. Morrison, Sheldon H. Jacobson, Jason J. Sauppe, and Edward C. Sewell. 2016. Branch-and-bound algorithms: A survey of recent advances in searching, branching, and pruning. Discret. Optim., 19 (2016), 79–102. https://doi.org/10.1016/j.disopt.2016.01.005 10.1016/j.disopt.2016.01.005 – reference: Catherine Wong, William McCarthy, Gabriel Grand, Jacob Andreas, Joshua B Tenenbaum, Robert Hawkins, and Judy Fan. 2022. Identifying concept libraries from language about object structure. In CogSci. To appear. – reference: Ameesh Shah, Eric Zhan, Jennifer Sun, Abhinav Verma, Yisong Yue, and Swarat Chaudhuri. 2020. Learning Differentiable Programs with Admissible Neural Heuristics. In Advances in Neural Information Processing Systems, H. Larochelle, M. Ranzato, R. Hadsell, M.F. Balcan, and H. Lin (Eds.). 33, Curran Associates, Inc., 4940–4952. https://proceedings.neurips.cc/paper/2020/file/342285bb2a8cadef22f667eeb6a63732-Paper.pdf – reference: Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sable-Meyer, Luc Cary, Lucas Morales, Luke Hewitt, Armando Solar-Lezama, and Joshua B Tenenbaum. 2020. Dreamcoder: Growing generalizable, interpretable knowledge with wake-sleep bayesian program learning. arXiv preprint arXiv:2006.08381. – reference: Srinivasan Iyer, Alvin Cheung, and Luke Zettlemoyer. 2019. Learning programmatic idioms for scalable semantic parsing. arXiv preprint arXiv:1904.09086. – reference: Yaroslav Ganin, Tejas Kulkarni, Igor Babuschkin, SM Ali Eslami, and Oriol Vinyals. 2018. Synthesizing programs for images using reinforced adversarial learning. In International Conference on Machine Learning. 1666–1675. – reference: Percy Liang, Michael I Jordan, and Dan Klein. 2010. Learning programs: A hierarchical Bayesian approach. In Proceedings of the 27th International Conference on Machine Learning (ICML-10). 639–646. – reference: R Kenny Jones, David Charatan, Paul Guerrero, Niloy J Mitra, and Daniel Ritchie. 2021. ShapeMOD: macro operation discovery for 3D shape programs. ACM Transactions on Graphics (TOG), 40, 4 (2021), 1–16. – reference: Dale Miller. 1991. A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification. Journal of Logic and Computation, 1, 4 (1991), 497–536. – volume-title: Playgol: Learning programs through play. arXiv preprint arXiv:1904.08993. year: 2019 ident: e_1_2_2_12_1 – ident: e_1_2_2_40_1 – ident: e_1_2_2_46_1 doi: 10.1016/j.disopt.2016.01.005 – volume-title: Proceedings of the Tenth Annual Symposium on Logic in Computer Science, D. Kozen (Ed.). IEEE Computer Society Press year: 1995 ident: e_1_2_2_15_1 – ident: e_1_2_2_32_1 – ident: e_1_2_2_3_1 doi: 10.1145/2635868.2635901 – ident: e_1_2_2_48_1 doi: 10.1145/2908080.2908093 – ident: e_1_2_2_1_1 doi: 10.1145/96709.96712 – ident: e_1_2_2_54_1 – ident: e_1_2_2_5_1 doi: 10.5281/zenodo.7151663 – volume-title: Proceedings of the 27th International Conference on Machine Learning (ICML-10) year: 2010 ident: e_1_2_2_39_1 – ident: e_1_2_2_24_1 doi: 10.1109/TSSC.1968.300136 – volume-title: Representing Partial Programs with Blended Abstract Semantics. In International Conference on Learning Representations. year: 2021 ident: e_1_2_2_47_1 – volume-title: International Conference on Learning Representations. year: 2018 ident: e_1_2_2_9_1 – ident: e_1_2_2_26_1 doi: 10.1016/0304-3975(75)90011-0 – ident: e_1_2_2_13_1 doi: 10.1016/1385-7258(72)90034-0 – ident: e_1_2_2_29_1 – ident: e_1_2_2_18_1 doi: 10.1145/3453483.3454080 – ident: e_1_2_2_55_1 doi: 10.1145/3434304 – volume: 40 start-page: 1 year: 2021 ident: e_1_2_2_31_1 article-title: ShapeMOD: macro operation discovery for 3D shape programs publication-title: ACM Transactions on Graphics (TOG) doi: 10.1145/3450626.3459821 – ident: e_1_2_2_44_1 doi: 10.1126/science.298.5594.824 – ident: e_1_2_2_28_1 doi: 10.1145/322003.322010 – ident: e_1_2_2_35_1 doi: 10.2307/1910129 – ident: e_1_2_2_25_1 – ident: e_1_2_2_2_1 doi: 10.1145/3212695 – ident: e_1_2_2_20_1 doi: 10.1016/0304-3975(92)90014-7 – ident: e_1_2_2_8_1 doi: 10.1145/3385412.3385988 – ident: e_1_2_2_38_1 doi: 10.1145/2993236.2993244 – volume-title: Deepcoder: Learning to write programs. arXiv preprint arXiv:1611.01989. year: 2016 ident: e_1_2_2_4_1 – ident: e_1_2_2_36_1 doi: 10.1023/A:1025671410623 – volume-title: Proceedings of the Joint International Conference and Symposium on Logic Programming, M. Maher (Ed.). MIT Press year: 1996 ident: e_1_2_2_16_1 – ident: e_1_2_2_43_1 doi: 10.1016/0747-7171(92)90011-R – volume-title: Advances in Neural Information Processing Systems year: 2020 ident: e_1_2_2_51_1 – volume-title: Proceedings of the International Joint Conference on Artificial Intelligence. year: 2013 ident: e_1_2_2_14_1 – volume-title: Beyond imitation: Zero-shot task transfer on robots by learning concepts as cognitive programs. Science Robotics, 4, 26 year: 2019 ident: e_1_2_2_37_1 – ident: e_1_2_2_6_1 doi: 10.1145/321992.321996 – ident: e_1_2_2_7_1 doi: 10.1145/3571207 – ident: e_1_2_2_21_1 doi: 10.1145/2813885.2737977 – volume-title: International Conference on Machine Learning. 1666–1675 year: 2018 ident: e_1_2_2_22_1 – ident: e_1_2_2_57_1 – ident: e_1_2_2_50_1 doi: 10.1007/11599128_7 – ident: e_1_2_2_27_1 – ident: e_1_2_2_33_1 doi: 10.1109/ICDM.2001.989534 – ident: e_1_2_2_42_1 doi: 10.1093/logcom/1.4.497 – volume-title: International Conference on Machine Learning. 11193–11204 year: 2021 ident: e_1_2_2_56_1 – ident: e_1_2_2_23_1 doi: 10.1145/2736282 – ident: e_1_2_2_41_1 doi: 10.1145/357084.357090 – ident: e_1_2_2_30_1 doi: 10.1007/3-540-15975-4_37 – ident: e_1_2_2_49_1 doi: 10.1145/2814270.2814310 – volume-title: A mathematical theory of communication. The Bell system technical journal, 27, 3 year: 1948 ident: e_1_2_2_52_1 – volume-title: Dreamcoder: Growing generalizable, interpretable knowledge with wake-sleep bayesian program learning. arXiv preprint arXiv:2006.08381. year: 2020 ident: e_1_2_2_17_1 – volume-title: Proceedings of the 5th international joint conference on Artificial intelligence-Volume 1. 305–310 year: 1977 ident: e_1_2_2_45_1 – volume-title: Program synthesis and semantic parsing with learned code idioms. Advances in Neural Information Processing Systems, 32 year: 2019 ident: e_1_2_2_53_1 – volume-title: 2nd Summit on Advances in Programming Languages (SNAPL year: 2017 ident: e_1_2_2_10_1 – ident: e_1_2_2_34_1 doi: 10.1137/1.9781611972740.32 – volume-title: Armando Solar Lezama, and Joshua B Tenenbaum year: 2018 ident: e_1_2_2_19_1 – ident: e_1_2_2_11_1 doi: 10.1007/s10601-014-9173-7 |
| SSID | ssj0001934839 |
| Score | 2.4921844 |
| Snippet | This paper introduces corpus-guided top-down synthesis as a mechanism for synthesizing library functions that capture common functionality from a corpus of... |
| SourceID | crossref acm |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 1182 |
| SubjectTerms | Automatic programming Branch-and-bound Software and its engineering Theory of computation |
| SubjectTermsDisplay | Software and its engineering -- Automatic programming Theory of computation -- Branch-and-bound |
| Title | Top-Down Synthesis for Library Learning |
| URI | https://dl.acm.org/doi/10.1145/3571234 |
| Volume | 7 |
| WOSCitedRecordID | wos000910847500041&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/eLvHCXMwtV3NT9swFLdY2WGX8bFNKwyUAxoHZBY7Tuwcq26DQ2GVYFJvle040yTIqrZM5cLfznNiO1GFtHHgYkWWbSV-T-8r7_0eQkdlrGSalgobk1PMVFxiRUmJeSGTQlgALFWDuI745aWYTPKxi-ku6nYCvKrEapXPXpTUMAfEtqWzzyB3OBQm4BmIDiOQHcb_I_yfGf4KvvXJ1X0F1p0FHLGphK5AwQOq_upapeOgxerEjsHwwv5DcKlbtzaY4MOabVA9dFdzHcPbaK28W7gyLlv4fzI5DYLfpf-OLDpSyOw4m7vcyjOpwG-_6cYhaFLHIfJWXFHGU0xYU-98ap6Yc_KWd9hq_GM86ohP6-10VLGFm3tazDOLiJGkHPQuazWZ_3u_puBC2mFThJ1O3cZXaJPyNLeJgBcPnchcnjBRt6ALr99UW9u9X9xea8zo244x07FKrrfRW-dORIOGDXbQhql20ZZv1RE5yf0OHXuuiAJXRMAVkeOKyHPFe_Tz-7fr4Tl2PTKwpJwvsU65zAohJZeUEi0LLZks4pxqkRCVMxMbnmUmZiVPpKIZLWNJFRGlJho8-yz5gHoVEP0jijgVKVXgUMeiYKYgSoN0Z_Akjcx4SfpoFz55OmtQUPwl9tFnfwVT7WDlbXeTm-nabfdRFBb6M9aW7P17yT560zLfJ9Rbzu_MAXqt_y5_L-aHNSEfARnyYlM |
| 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=Top-Down+Synthesis+for+Library+Learning&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Bowers%2C+Matthew&rft.au=Olausson%2C+Theo+X.&rft.au=Wong%2C+Lionel&rft.au=Grand%2C+Gabriel&rft.date=2023-01-09&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=7&rft.issue=POPL&rft.spage=1182&rft.epage=1213&rft_id=info:doi/10.1145%2F3571234&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3571234 |
| 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 |