2019
DOI: 10.1145/3290386
|View full text |Cite
|
Sign up to set email alerts
|

FrAngel: component-based synthesis with control structures

Abstract: In component-based program synthesis, the synthesizer generates a program given a library of components (functions). Existing component-based synthesizers have difficulty synthesizing loops and other control structures, and they often require formal specifications of the components, which can be expensive to generate. We present FrAngel, a new approach to component-based synthesis that can synthesize short Java functions with control structures when given a desired signature, a set of input-output examples, an… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
26
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 43 publications
(26 citation statements)
references
References 36 publications
(76 reference statements)
0
26
0
Order By: Relevance
“…User intent can be described via a set of input/output examples, for example in [94], or even as a set of test cases, for example, in the work presented in [92]. In addition, the FrAngel approach [178] is able to synthesize loops and other control structures using a desired signature.…”
Section: Inductive Program Synthesis Paradigmmentioning
confidence: 99%
“…User intent can be described via a set of input/output examples, for example in [94], or even as a set of test cases, for example, in the work presented in [92]. In addition, the FrAngel approach [178] is able to synthesize loops and other control structures using a desired signature.…”
Section: Inductive Program Synthesis Paradigmmentioning
confidence: 99%
“…It also adopts several optimizing strategies to promote the performance of it, which is not discussed in this paper. If interested, please refer to FrAngel paper [34].…”
Section: Basic Synthesis Procedures Of Frangelmentioning
confidence: 99%
“…It have widely been used in many domain-specific applications including bit-vector programs [16], geometry constructions [17], deobfuscating [20], string manipulation [31], data structure transformation [10], and table transformation [8], etc. Unlike these work, our work and SyPet [9] as well as FrAngel [34] are designed for synthesizing general Java programs with various intents, and the components here refer to Java APIs. Program Sketching is a synthesis methodology where the intent of a programming task is given by a program sketch and leave the rest of the implementation to the synthesis procedure [37][38][39].…”
Section: Related Work 61 Program Synthesismentioning
confidence: 99%
See 1 more Smart Citation
“…Sypet [Feng et al 2017] is similar, but also includes I/O examples as a harness. FrAngel [Shi et al 2019] builds on SyPet, using angelic execution to find programs that satisfy test cases and then instantiating the angelic control-structure conditions for those programs. Unlike JLibSketch, none of these systems support template-based synthesis, nor do they support algebraic library specifications.…”
Section: Related Workmentioning
confidence: 99%