2016
DOI: 10.4204/eptcs.229.9
|View full text |Cite
|
Sign up to set email alerts
|

An Update on Deductive Synthesis and Repair in the Leon Tool

Abstract: We report our progress in scaling deductive synthesis and repair of recursive functional Scala programs in the Leon tool. We describe new techniques, including a more precise mechanism for encoding the space of meaningful candidate programs. Our techniques increase the scope of synthesis by expanding the space of programs we can synthesize and by reducing the synthesis time in many cases. As a new example, we present a run-length encoding function for a list of values, which Leon can now automatically synthesi… 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
10
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
3
2
1

Relationship

1
5

Authors

Journals

citations
Cited by 8 publications
(10 citation statements)
references
References 35 publications
0
10
0
Order By: Relevance
“…Alternatively, Smith and Albarghouthi (2019) generate only programs in a specific normal form, where term rewriting is used to transform a program into its normal form. In (Koukoutos et al 2016), Koukoutos et al make use of attribute grammars to only produce certain types of expressions in their normal form, thus skipping other expressions that are syntactically different, yet semantically equivalent. In our work, we found that the lightweight heuristics described in Section 3.6 worked well.…”
Section: General Program Synthesismentioning
confidence: 99%
“…Alternatively, Smith and Albarghouthi (2019) generate only programs in a specific normal form, where term rewriting is used to transform a program into its normal form. In (Koukoutos et al 2016), Koukoutos et al make use of attribute grammars to only produce certain types of expressions in their normal form, thus skipping other expressions that are syntactically different, yet semantically equivalent. In our work, we found that the lightweight heuristics described in Section 3.6 worked well.…”
Section: General Program Synthesismentioning
confidence: 99%
“…The approach of annotating types with attributes has already been introduced in [20], but there the attributes and their interpretation were predefined. Here we allow the user to provide their own wrapper classes.…”
Section: Term Grammarsmentioning
confidence: 99%
“…In case the user does not want to manually implement a custom attribute grammar as above, they can reside to a set of default built-in axioms described in [20]. In case of the default grammars, those axioms are automatically applied to each combination of nonterminal and production rule.…”
Section: Built-in Axiom Systemmentioning
confidence: 99%
See 2 more Smart Citations