arXiv · 1510.07995
From Low-Level Pointers to High-Level Containers
Abstract
We propose a method that transforms a C program manipulating containers using low-level pointer statements into an equivalent program where the containers are manipulated via calls of standard high-level container operations like push_back or pop_front. The input of our method is a C program annotated by a special form of shape invariants which can be obtained from current automatic shape analysers after a slight modification. The resulting program where the low-level pointer statements are summarized into high-level container operations is more understandable and (among other possible benefits) better suitable for program analysis. We have implemented our approach and successfully tested it through a number of experiments with list-based containers, including experiments with simplification of program analysis by separating shape analysis from analysing data-related properties.
Explore related subjects
Keep this discovery
Kamil Dudka, Lukáš Holík, Petr Peringer, Marek Trtík, Tomáš Vojnar. 2015-10-27. From Low-Level Pointers to High-Level Containers. https://arxiv.org/abs/1510.07995
Cite the original work for its findings. Save a collection to share your selection of sources.