To infer complex structural invariants, shape analyses rely on expres- sive families of logical properties. Many such analyses manipulate abstract memory states that consist of separating conjunctions of basic predicates describing atomic blocks or summaries. Moreover, they use finite disjunctions of abstract memory states in order to account for dissimilar shapes. Disjunctions should be kept small for scalability, though precision often requires keeping additional case splits. In this context, deciding when and how to merge case splits and to replace them with summaries is critical both for precision and efficiency. Existing techniques use sets of syntactic rules, which are tedious to design and prone to failure. In this paper, we design a...
Abstract. Real-world data structures are often enhanced with addi-tional pointers capturing alternat...
We present a shape analysis for programs that manipulate overlaid data structures which share sets o...
International audienceTo understand and detect possible errors in programs manipulating memory, stat...
International audienceTo infer complex structural invariants, shape analyses rely on expressive fami...
International audienceTraditional separation logic-based shape analyses utilize in-ductive summarizi...
Shape analysis is a static analysis of the source code of a program to determine shapes and manipula...
Abstract. The breadth and depth of heap properties that can be inferred by the union of today’s shap...
International audienceThe breadth and depth of heap properties that can be inferred by theunion of t...
International audienceShape analyses aim at inferring semantic invariants related to the data-struct...
International audienceStatic analyses aim at inferring semantic properties of programs. While many a...
International audienceStatic analyses aim at inferring semantic properties of programs. We distingui...
Abstract. Shape analysis aims to infer precise structural properties of imperative memory states and...
In this paper we present a new shape analysis algorithm. The key distinguishing aspect of our algori...
In this paper we present a new shape analysis algorithm. The key distinguishing aspect of our algori...
Shape analysis concerns the problem of determining \shape invariants" for programs that perform...
Abstract. Real-world data structures are often enhanced with addi-tional pointers capturing alternat...
We present a shape analysis for programs that manipulate overlaid data structures which share sets o...
International audienceTo understand and detect possible errors in programs manipulating memory, stat...
International audienceTo infer complex structural invariants, shape analyses rely on expressive fami...
International audienceTraditional separation logic-based shape analyses utilize in-ductive summarizi...
Shape analysis is a static analysis of the source code of a program to determine shapes and manipula...
Abstract. The breadth and depth of heap properties that can be inferred by the union of today’s shap...
International audienceThe breadth and depth of heap properties that can be inferred by theunion of t...
International audienceShape analyses aim at inferring semantic invariants related to the data-struct...
International audienceStatic analyses aim at inferring semantic properties of programs. While many a...
International audienceStatic analyses aim at inferring semantic properties of programs. We distingui...
Abstract. Shape analysis aims to infer precise structural properties of imperative memory states and...
In this paper we present a new shape analysis algorithm. The key distinguishing aspect of our algori...
In this paper we present a new shape analysis algorithm. The key distinguishing aspect of our algori...
Shape analysis concerns the problem of determining \shape invariants" for programs that perform...
Abstract. Real-world data structures are often enhanced with addi-tional pointers capturing alternat...
We present a shape analysis for programs that manipulate overlaid data structures which share sets o...
International audienceTo understand and detect possible errors in programs manipulating memory, stat...