Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation 2021
DOI: 10.1145/3453483.3454087
|View full text |Cite
|
Sign up to set email alerts
|

Cyclic program synthesis

Abstract: We describe the first approach to automatically synthesizing heap-manipulating programs with auxiliary recursive procedures. Such procedures occur routinely in data structure transformations (e.g., flattening a tree into a list) or traversals of composite structures (e.g., n-ary trees). Our approach, dubbed cyclic program synthesis, enhances deductive program synthesis with a novel application of cyclic proofs. Specifically, we observe that the machinery used to form cycles in cyclic proofs can be reused to sy… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
7
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 17 publications
(7 citation statements)
references
References 43 publications
(87 reference statements)
0
7
0
Order By: Relevance
“…We begin with a brief primer on (Cyclic) Synthetic Separation Logic (SSL) (Itzhaky et al 2021)Ðthe newly extended logical formalism underlying the deductive synthesis algorithm implemented by the current version of the SuSLik tool (Polikarpova and Sergey 2019). In SSL, a singly-linked list is defined by the following inductive predicate, a standard for Separation Logic (Reynolds 2002):…”
Section: Background On Synthetic Separation Logicmentioning
confidence: 99%
See 3 more Smart Citations
“…We begin with a brief primer on (Cyclic) Synthetic Separation Logic (SSL) (Itzhaky et al 2021)Ðthe newly extended logical formalism underlying the deductive synthesis algorithm implemented by the current version of the SuSLik tool (Polikarpova and Sergey 2019). In SSL, a singly-linked list is defined by the following inductive predicate, a standard for Separation Logic (Reynolds 2002):…”
Section: Background On Synthetic Separation Logicmentioning
confidence: 99%
“…Expressions include variables, literal constants, equality checks and logical connectives. Additional theory-specific expressions are allowed depending on the underlying theory used for checking entailment in derivations; the most up-to-date version of SuSLik by Itzhaky et al (2021) supports linear integer arithmetic and sets. The language allows pointer arithmetic in the form x + ι.…”
Section: Background On Synthetic Separation Logicmentioning
confidence: 99%
See 2 more Smart Citations
“…, it is the choice of "matching-function" or "cut" that determines exactly how the verification algorithm operates outside of the usual reasoning on the abstract domain. Recently, cyclic proofs have also been applied to program synthesis for pointer manipulating programs [25].…”
Section: Related Work and Conclusionmentioning
confidence: 99%