Separating Shape Graphs
نویسندگان
چکیده
Detailed memory models that expose individual fields are necessary to precisely analyze code that makes use of low-level aspects such as, pointers to fields and untagged unions. Yet, higher-level representations that collect fields into records are often used because they are typically more convenient and efficient in modeling the program heap. In this paper, we present a shape graph representation of memory that exposes individual fields while largely retaining the convenience of an object-level model. This representation has a close connection to particular kinds of formulas in separation logic. Then, with this representation, we show how to extend the Xisa shape analyzer for low-level aspects, including pointers to fields, C-style nested structures and unions, malloc and free, and array values, with minimal changes to the core algorithms (e.g., materialization and summarization).
منابع مشابه
Local Shape Analysis for Overlaid Data Structures
We present a shape analysis for programs that manipulate overlaid data structures which share sets of objects. The abstract domain contains Separation Logic formulas that (1) combine a per-object separating conjunction with a per-field separating conjunction and (2) constrain a set of variables interpreted as sets of objects. The definition of the abstract domain operators is based on a notion ...
متن کاملSeparating Path Systems
We study separating systems of the edges of a graph where each member of the separating system is a path. We conjecture that every n-vertex graph admits a separating path system of size O(n) and prove this in certain interesting special cases. In particular, we establish this conjecture for random graphs of all densities and graphs with linear minimum degree. We also obtain tight bounds on the ...
متن کاملSimplicial Decompositions, Tree-decompositions and Graph Minors
The concepts of simplicial decompositions, tree-decompositions and simplicial tree-decompositions were all inspired by a common forerunner: the decompositions of finite graphs used by K. Wagner in his classic paper [ 13 ], in which he proved the equivalence of the 4-Colour-Conjecture to Hadwiger’s Conjecture for n = 5. To show that the 4CC implies Hadwiger’s Conjecture (for n = 5), Wagner used ...
متن کاملA More Compact Visibility Representation
16 4-block tree in linear time. The problem is already linear time solvable in case of 2-and 3-connected components (see e.g., Hopcroft & Tarjan 8]), hence solving this open problem yields a nice generalization. As a last subject we consider the method of triangulating planar graphs. It would be interesting to triangulate G such that it is 4-connected. Indeed, G may have separating triangles, i...
متن کاملConnectivity of Strong Products of Graphs
Definition(s): Let G = (V,E) be a graph. A set S ⊆ V is called separating in G if G− S is not connected. The connectivity of G, written κ(G), is the minimum size of a set S, such that G−S is not connected or has only one vertex. A separating set in G with cardinality κ(G) is called a κ-set in G. Let G1 = (V1, E1) and G2 = (V2, E2) be a graphs. Strong product G1 G2 of graphs G1 and G2 is the gra...
متن کاملLearning Causal Graphs with Small Interventions
We consider the problem of learning causal networks with interventions, when each intervention is limited in size under Pearl’s Structural Equation Model with independent errors (SEM-IE). The objective is to minimize the number of experiments to discover the causal directions of all the edges in a causal graph. Previous work has focused on the use of separating systems for complete graphs for t...
متن کامل