AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zenkner, Janis, Dierkes, Lukas, Sesterhenn, Tobias, Bartelt, Chrisitan
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909312490668032
author Zenkner, Janis
Dierkes, Lukas
Sesterhenn, Tobias
Bartelt, Chrisitan
author_facet Zenkner, Janis
Dierkes, Lukas
Sesterhenn, Tobias
Bartelt, Chrisitan
contents LambdaBeam is a state-of-the-art, execution-guided algorithm for program synthesis that utilizes higher-order functions, lambda functions, and iterative loops within a Domain-Specific Language (DSL). LambdaBeam generates each program from scratch but does not take advantage of the frequent recurrence of program blocks or subprograms commonly found in specific domains, such as loops for list traversal. To address this limitation, we introduce AbstractBeam: a novel program synthesis framework designed to enhance LambdaBeam by leveraging Library Learning. AbstractBeam identifies and integrates recurring program structures into the DSL, optimizing the synthesis process. Our experimental evaluations demonstrate that AbstractBeam statistically significantly (p < 0.05) outperforms LambdaBeam in the integer list manipulation domain. Beyond solving more tasks, AbstractBeam's program synthesis is also more efficient, requiring less time and fewer candidate programs to generate a solution. Furthermore, our findings indicate that Library Learning effectively enhances program synthesis in domains that are not explicitly designed to showcase its advantages, thereby highlighting the broader applicability of Library Learning.
format Preprint
id arxiv_https___arxiv_org_abs_2405_17514
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning
Zenkner, Janis
Dierkes, Lukas
Sesterhenn, Tobias
Bartelt, Chrisitan
Software Engineering
Artificial Intelligence
Programming Languages
LambdaBeam is a state-of-the-art, execution-guided algorithm for program synthesis that utilizes higher-order functions, lambda functions, and iterative loops within a Domain-Specific Language (DSL). LambdaBeam generates each program from scratch but does not take advantage of the frequent recurrence of program blocks or subprograms commonly found in specific domains, such as loops for list traversal. To address this limitation, we introduce AbstractBeam: a novel program synthesis framework designed to enhance LambdaBeam by leveraging Library Learning. AbstractBeam identifies and integrates recurring program structures into the DSL, optimizing the synthesis process. Our experimental evaluations demonstrate that AbstractBeam statistically significantly (p < 0.05) outperforms LambdaBeam in the integer list manipulation domain. Beyond solving more tasks, AbstractBeam's program synthesis is also more efficient, requiring less time and fewer candidate programs to generate a solution. Furthermore, our findings indicate that Library Learning effectively enhances program synthesis in domains that are not explicitly designed to showcase its advantages, thereby highlighting the broader applicability of Library Learning.
title AbstractBeam: Enhancing Bottom-Up Program Synthesis using Library Learning
topic Software Engineering
Artificial Intelligence
Programming Languages
url https://arxiv.org/abs/2405.17514