Abstract
We define the class of single-parent heap systems, which rely on a singly-linked heap in order to model destructive updates on tree structures. This encoding has the advantage of relying on a relatively simple theory of linked lists in order to support abstraction computation. To facilitate the application of this encoding, we provide a program transformation that, given a program operating on a multi-linked heap without sharing, transforms it into one over a single-parent heap. It is then possible to apply shape analysis by predicate and ranking abstraction. The technique has been successfully applied on examples with lists (reversal and bubble sort) and trees with of fixed arity (balancing of, and insertion into, a binary sort tree).
Highlights
This paper is based on research reported in [3, 5]
This paper presents an approach for shape analysis based on predicate abstraction that allows for analysis of functional properties such as safety and liveness
The focus is on “single-parent” heap structures and structures that can be mapped into them. This covers the important family of trees
Summary
This paper is based on research reported in [3, 5]. The goal of shape analysis is to analyze properties of programs that perform destructive updating on dynamically allocated storage (heaps) [21]. This paper presents an approach for shape analysis based on predicate abstraction that allows for analysis of functional properties such as safety and liveness. We propose a framework for shape analysis of singleparent heaps based on a small model property of a restricted class of first order assertions with transitive closure. Extending this framework to allow for heaps with multiple links per node entails extending the assertional language and proving a stronger small model property.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.