作者
Shachar Itzhaky, Hila Peleg, Nadia Polikarpova, Reuben NS Rowe, Ilya Sergey
发表日期
2021/6/19
图书
Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation
页码范围
944-959
简介
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 systematically and efficiently abduce recursive auxiliary procedures.
We develop the theory of cyclic program synthesis by extending Synthetic Separation Logic (SSL), a logical framework for deductive synthesis of heap-manipulating programs from Separation Logic specifications. We implement our approach as a tool called Cypress, and showcase it by automatically synthesizing a number of programs …
引用总数
学术搜索中的文章
S Itzhaky, H Peleg, N Polikarpova, RNS Rowe, I Sergey - Proceedings of the 42nd ACM SIGPLAN International …, 2021