Inductive Synthesis of Inductive Heap Predicates -- Extended Version
Ziyi Yang, Ilya Sergey

TL;DR
This paper introduces a novel ILP-based method for automatically synthesizing rich recursive predicates in Separation Logic from positive heap examples, enabling analysis of complex data structures like trees and lists.
Contribution
It presents a positive-only ILP learning algorithm for heap predicates, capable of handling complex structures and data properties, advancing automated heap analysis.
Findings
Successfully synthesizes predicates for complex data structures.
Handles non-trivial payload constraints and nested recursion.
Facilitates deductive verification and correct-by-construction synthesis.
Abstract
We present an approach to automatically synthesise recursive predicates in Separation Logic (SL) from concrete data structure instances using Inductive Logic Programming (ILP) techniques. The main challenges to make such synthesis effective are (1) making it work without negative examples that are required in ILP but are difficult to construct for heap-based structures in an automated fashion, and (2) to be capable of summarising not just the shape of a heap (e.g., it is a linked list), but also the properties of the data it stores (e.g., it is a sorted linked list). We tackle these challenges with a new predicate learning algorithm. The key contributions of our work are (a) the formulation of ILP-based learning only using positive examples and (b) an algorithm that synthesises property-rich SL predicates from concrete memory graphs based on the positive-only learning. We show that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques
