## The octahedron abstract domain (2004)

### Cached

### Download Links

- [www.lsi.upc.es]
- [www.lsi.upc.es]
- [www.lsi.upc.edu]
- [www.lsi.upc.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | In Static Analysis Symposium (2004 |

Citations: | 49 - 1 self |

### BibTeX

@INPROCEEDINGS{Clarisó04theoctahedron,

author = {Robert Clarisó and Jordi Cortadella},

title = {The octahedron abstract domain},

booktitle = {In Static Analysis Symposium (2004},

year = {2004},

pages = {312--327},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

NOTICE: This is the author’s version of a work that was accepted for publication in Science of Computer Programming. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. A definitive version was subsequently published in Science of Computer Programming, 64(2007):115-139.

### Citations

3029 | Graphical-Based Algorithms for Boolean Function Manipulation
- Bryant
- 1986
(Show Context)
Citation Context ...lementation of octahedra is based on decision diagrams. Decision diagram techniques have been applied successfully to several problems in different application domains. Binary Decision Diagrams (BDD) =-=[5]-=- provide an efficient mechanism to represent boolean functions. Zero Suppressed BDDs (ZDD) [21] are specially tuned to represent sparse functions more efficiently. Multi-Terminal Decision Diagrams (MT... |

2047 | A theory of timed automata
- Alur, Dill
- 1994
(Show Context)
Citation Context ... contain non-negative variables, so this optimization can be applied. Some examples of problems that can be solved using unit inequalities over nonnegative variables are the analysis of timed systems =-=[1, 18]-=-, the analysis of string length in C programs [12] and the discovery of bounds on the size of asynchronous communication channels. In other problems where variables are unconstrained, OhDD can still b... |

1947 |
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ... Sports. 3 Supported by a Distinction for the Promotion of Research by the Generalitat de Catalunya. Preprint submitted to Elsevier Science 24 November 2006 ✜ ✢s1 Introduction Abstract interpretation =-=[9]-=- defines a generic framework for the static analysis of dynamic properties of a system. This framework can be used, for instance, to analyze termination or to discover invariants in programs automatic... |

587 | Automatic discovery of linear restraints among variables of a program
- Cousot, Halbwachs
- 1978
(Show Context)
Citation Context ...[22] (± xi ± xj ≤ k) k ∈ Q 2 ≤ x + y ≤ 6 Two-variables [30] (c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequality c1,c2,k ∈ Q Octahedra This paper ( � xi − � xj ≥ k) x + z − y ≥ 5 k ∈ Q Convex polyhedra =-=[10, 17]-=- ( � ci · xi ≥ k) x + 3y − z ≥ 1 ci,k ∈ Q Templates [29] Like convex polyhedra, but the set of possible coefficients ci is established a priori. unconstrained variables or non-negative variables. In S... |

425 |
Dynamic variable ordering for ordered binary decision diagrams
- Rudell
- 1993
(Show Context)
Citation Context ...ave negative values; in those cases, we can use the more general UV rules. Another set of experiments has evaluated the gains that can be achieved by performing dynamic reordering. Dynamic reordering =-=[28]-=- is a technique which explores which top-down ordering of variables provides a smaller decision diagram. The chosen ordering may be altered dynamically depending on the structure of the decision diagr... |

244 | The octagon abstract domain
- Miné
(Show Context)
Citation Context ...ction Reference Constraints Example Intervals [9] (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 2 ≤ x ≤ 5 Difference Bound [11, 3] (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 1 ≤ x ≤ 3 Matrices (DBMs) (xi − xj ≤ k) k ∈ Q x − y ≤ 5 Octagons =-=[22]-=- (± xi ± xj ≤ k) k ∈ Q 2 ≤ x + y ≤ 6 Two-variables [30] (c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequality c1,c2,k ∈ Q Octahedra This paper ( � xi − � xj ≥ k) x + z − y ≥ 5 k ∈ Q Convex polyhedra [10,... |

224 |
Timing assumptions and verification of finite-state concurrent systems
- Dill
- 1990
(Show Context)
Citation Context ...udied: 2sTable 1 A comparison of numerical abstract domains based on inequality properties. Abstraction Reference Constraints Example Intervals [9] (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 2 ≤ x ≤ 5 Difference Bound =-=[11, 3]-=- (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 1 ≤ x ≤ 3 Matrices (DBMs) (xi − xj ≤ k) k ∈ Q x − y ≤ 5 Octagons [22] (± xi ± xj ≤ k) k ∈ Q 2 ≤ x + y ≤ 6 Two-variables [30] (c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequalit... |

163 |
Multi-terminal binary decision diagrams: An efficient data structure for matrix representation
- Clarke, Fujita, et al.
- 1993
(Show Context)
Citation Context ...ide an efficient mechanism to represent boolean functions. Zero Suppressed BDDs (ZDD) [21] are specially tuned to represent sparse functions more efficiently. Multi-Terminal Decision Diagrams (MTBDD) =-=[15]-=- represent functions from boolean variables to reals, f : B n → R. The paradigm of decision diagrams has also been applied to the analysis of numerical constraints. Most of these approaches compare th... |

149 |
The maximum number of faces of a convex polytope
- McMullen
- 1970
(Show Context)
Citation Context ...into the other. This procedure was described in [6], and further improved in [14, 34]. Given a system of c constraints over Qd , the computation of the dual representation requires O(c ⌊ d 2 ⌋ ) time =-=[20]-=-. Furthermore, even if we consider only minimized representations, the size of a representation can grow exponentially with this translation. For example, an hypercube in d-dimensions is defined by 2d... |

149 |
Zero-suppressed BDDs for set manipulation in combinatorial problems
- Minato
- 1993
(Show Context)
Citation Context ...applied successfully to several problems in different application domains. Binary Decision Diagrams (BDD) [5] provide an efficient mechanism to represent boolean functions. Zero Suppressed BDDs (ZDD) =-=[21]-=- are specially tuned to represent sparse functions more efficiently. Multi-Terminal Decision Diagrams (MTBDD) [15] represent functions from boolean variables to reals, f : B n → R. The paradigm of dec... |

122 | M.: CSSV: towards a realistic tool for statically detecting all buffer overflows in C
- Dor, Rodeh, et al.
- 2003
(Show Context)
Citation Context ... can be applied. Some examples of problems that can be solved using unit inequalities over nonnegative variables are the analysis of timed systems [1, 18], the analysis of string length in C programs =-=[12]-=- and the discovery of bounds on the size of asynchronous communication channels. In other problems where variables are unconstrained, OhDD can still be used albeit with lower efficiency. This paper is... |

115 |
A theory of asynchronous circuits
- Muller, Bartky
- 1959
(Show Context)
Citation Context ...ion plus an equality test, which compares whether the top nodes of the decision diagram are equal. 30s5 Applications of the Octahedron Abstract Domain 5.1 Motivating Application Asynchronous circuits =-=[24]-=- are a class of circuits where there is no global clock to synchronize its different components. Asynchronous circuits replace the global clock by a local handshake between components, gaining several... |

112 | Verification of Real-Time Systems using Linear Relation Analysis
- Halbwachs, Proy, et al.
- 1997
(Show Context)
Citation Context ...[22] (± xi ± xj ≤ k) k ∈ Q 2 ≤ x + y ≤ 6 Two-variables [30] (c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequality c1,c2,k ∈ Q Octahedra This paper ( � xi − � xj ≥ k) x + z − y ≥ 5 k ∈ Q Convex polyhedra =-=[10, 17]-=- ( � ci · xi ≥ k) x + 3y − z ≥ 1 ci,k ∈ Q Templates [29] Like convex polyhedra, but the set of possible coefficients ci is established a priori. unconstrained variables or non-negative variables. In S... |

70 | Scalable analysis of linear systems using mathematical programming
- Sankaranarayanan, Sipma, et al.
- 2005
(Show Context)
Citation Context ...(c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequality c1,c2,k ∈ Q Octahedra This paper ( � xi − � xj ≥ k) x + z − y ≥ 5 k ∈ Q Convex polyhedra [10, 17] ( � ci · xi ≥ k) x + 3y − z ≥ 1 ci,k ∈ Q Templates =-=[29]-=- Like convex polyhedra, but the set of possible coefficients ci is established a priori. unconstrained variables or non-negative variables. In Section 5, some possible applications of the octahedron a... |

64 | A new numerical abstract domain based on differencebound matrices
- Miné
- 2001
(Show Context)
Citation Context ...ovided. Finally, section 6 draws some conclusions and suggests some future work. ⋆ c○Springer-Verlag LNCS 2004sAbstraction Cite Properties Example Intervals [5] k1 ≤ x ≤ k2 2 ≤ x ≤ 5 Difference Bound =-=[7, 15]-=- k1 ≤ x ≤ k2 1 ≤ x ≤ 3 Matrices (DBMs) x − y ≤ k x − y ≤ 5 Octagons [16] ±x ± y ≤ k 2 ≤ x + y ≤ 6 Two variables per inequality [22] c1 · x1 + c2 · x2 ≥ k 2 ≤ 3x − 2y ≤ 5 Octahedra This paper ±xi ± . .... |

57 | W.: Efficient timed reachability analysis using clock difference diagrams
- Behrmann, Larsen, et al.
- 1999
(Show Context)
Citation Context ...s. Some examples of these representations are Difference Decision Diagrams (DDD) [23], Region Encoding Diagrams (RED) [35], Numerical Decision Diagrams (NDD) [13], and Clock Difference Diagrams (CDD) =-=[4]-=-. Although the individual constraints involve a maximum of two variables, these diagrams can encode conjunctions and disjunctions of these constraints. In other representations, each node encodes one ... |

57 |
CUDD: Colorado University Decision Diagram Package. ftp://vlsi .colorado.edu/pub
- Somenzi
- 1996
(Show Context)
Citation Context ...sed instead of reduction rule number 2. 4.3 Implementation of the Operations The octahedra abstract domain and its operations have been implemented as OhDD on top of the CUDD decision diagram package =-=[32]-=-. Each operation on octahedra performs simple manipulations such as computing the maximum or the minimum between two systems of inequalities, where each inequality is encoded as a path in a OhDD. Two ... |

42 | H.: Difference decision diagrams
- Møller, Lichtenberg, et al.
- 1999
(Show Context)
Citation Context ...roaches compare the value of numerical variables with constants or intervals, or compare the value of pairs of variables. Some examples of these representations are Difference Decision Diagrams (DDD) =-=[23]-=-, Region Encoding Diagrams (RED) [35], Numerical Decision Diagrams (NDD) [13], and Clock Difference Diagrams (CDD) [4]. Although the individual constraints involve a maximum of two variables, these di... |

41 | Data-Flow Analysis for Constraint Logic-Based Languages
- Bagnara
- 1997
(Show Context)
Citation Context ...udied: 2sTable 1 A comparison of numerical abstract domains based on inequality properties. Abstraction Reference Constraints Example Intervals [9] (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 2 ≤ x ≤ 5 Difference Bound =-=[11, 3]-=- (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 1 ≤ x ≤ 3 Matrices (DBMs) (xi − xj ≤ k) k ∈ Q x − y ≤ 5 Octagons [22] (± xi ± xj ≤ k) k ∈ Q 2 ≤ x + y ≤ 6 Two-variables [30] (c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequalit... |

41 |
Termination detection in logic programs using argument sizes
- Sohn, Gelder
- 1991
(Show Context)
Citation Context ...tion of two strings can be strlen(strcat(s1, s2)) = strlen(s1) +strlen(s2). • Analysis of term size in logic programs [33], which can be used among other things to prove termination of logic programs =-=[31]-=-. • Proof of mutual exclusion and other synchronization properties among concurrent processes: many high-level synchronization constraints can be expressed easily as properties on counter (semaphore) ... |

36 | Two Variables per Linear Inequality as an Abstract Domain
- Simon, King, et al.
- 2003
(Show Context)
Citation Context ... xi ≤ k2) k1,k2 ∈ Q 2 ≤ x ≤ 5 Difference Bound [11, 3] (k1 ≤ xi ≤ k2) k1,k2 ∈ Q 1 ≤ x ≤ 3 Matrices (DBMs) (xi − xj ≤ k) k ∈ Q x − y ≤ 5 Octagons [22] (± xi ± xj ≤ k) k ∈ Q 2 ≤ x + y ≤ 6 Two-variables =-=[30]-=- (c1 · x1 + c2 · x2 ≥ k) 3x − 2y ≥ 5 per-inequality c1,c2,k ∈ Q Octahedra This paper ( � xi − � xj ≥ k) x + z − y ≥ 5 k ∈ Q Convex polyhedra [10, 17] ( � ci · xi ≥ k) x + 3y − z ≥ 1 ci,k ∈ Q Templates... |

36 | Deriving constraints among argument sizes in logic programs
- Gelder
- 1991
(Show Context)
Citation Context ...ngs can be represented with octahedra. For instance, a constraint on the concatenation of two strings can be strlen(strcat(s1, s2)) = strlen(s1) +strlen(s2). • Analysis of term size in logic programs =-=[33]-=-, which can be used among other things to prove termination of logic programs [31]. • Proof of mutual exclusion and other synchronization properties among concurrent processes: many high-level synchro... |

33 |
The Temporal Specification and Verification of Real-Time Systems
- Henzinger
- 1991
(Show Context)
Citation Context ... contain non-negative variables, so this optimization can be applied. Some examples of problems that can be solved using unit inequalities over nonnegative variables are the analysis of timed systems =-=[1, 18]-=-, the analysis of string length in C programs [12] and the discovery of bounds on the size of asynchronous communication channels. In other problems where variables are unconstrained, OhDD can still b... |

32 | Data-Structures for the Verification of Timed Automata
- Asarin, Kerbrat, et al.
(Show Context)
Citation Context ... or compare the value of pairs of variables. Some examples of these representations are Difference Decision Diagrams (DDD) [23], Region Encoding Diagrams (RED) [35], Numerical Decision Diagrams (NDD) =-=[13]-=-, and Clock Difference Diagrams (CDD) [4]. Although the individual constraints involve a maximum of two variables, these diagrams can encode conjunctions and disjunctions of these constraints. In othe... |

31 |
Algorithm for Discovering the Set of All Solutions of a Linear Programming Problem
- Chernikova
- 1968
(Show Context)
Citation Context ...ion. 3.2 Computing the Canonical Form 3.2.1 Preliminaries: Dual Representations of Polyhedra Any convex polyhedron has two dual representations: the system of constraints and the system of generators =-=[6]-=-. The system of constraints defines the polyhedron as a conjunction of linear inequalities. Meanwhile, the system of generators defines the polyhedron as the convex combination of a set of points (ver... |

21 | Efficient Data-Structure for Fully Symbolic Verification of Real-Time Software Systems
- Wang
(Show Context)
Citation Context ...l variables with constants or intervals, or compare the value of pairs of variables. Some examples of these representations are Difference Decision Diagrams (DDD) [23], Region Encoding Diagrams (RED) =-=[35]-=-, Numerical Decision Diagrams (NDD) [13], and Clock Difference Diagrams (CDD) [4]. Although the individual constraints involve a maximum of two variables, these diagrams can encode conjunctions and di... |

18 | Symbolic parametric safety analysis of linear hybrid systems with bdd-like data-structures
- Wang
- 2004
(Show Context)
Citation Context ...ions, each node encodes one complex constraint like a linear inequality. Some examples of these representations are Decision Diagrams with Constraints (DDC) [19] and Hybrid-Restriction Diagrams (HRD) =-=[36]-=-. Again, these diagrams can encode conjunctions and disjunctions of linear inequalities. Nevertheless, there is no sistematic procedure to combine the different constraints in the diagram, detect redu... |

10 | On the canonical representations of convex polyhedra
- Avis, Fukuda, et al.
- 2002
(Show Context)
Citation Context ...ar combinations of others. However, in the previous example both representations are minimal and even then, they are different. Although it is possible to define a canonical form for convex polyhedra =-=[2]-=-, its complexity makes it impractical. Regarding octahedra, a canonical form for octahedra can be defined using the result of Lemma 3. Even though the number of inequalities of this canonical form mak... |

10 | Verification of timed circuits with symbolic delays
- Clarisó, Cortadella
- 2004
(Show Context)
Citation Context ...circuits from the literature. This verification can be seen as the analysis of a set of clock variables, and the underlying timing behavior can be modeled as assignments and guards on these variables =-=[7]-=-. The analysis of clock variables has been performed using two different numerical abstractions: convex polyhedra and octahedra. The implementation of polyhedra uses the New Polka polyhedra library [2... |

9 | Verification of concurrent systems with parametric delays using octahedra - Clarisó, Cortadella - 2005 |

9 |
Extension of chernikova's algorithm for solving general mixed linear programming problems
- Fernandez, Quinton
- 1988
(Show Context)
Citation Context ...an example of a convex polyhedron and its double description. There is a procedure that translates from one representation into the other. This procedure was described in [6], and further improved in =-=[14, 34]-=-. Given a system of c constraints over Qd , the computation of the dual representation requires O(c ⌊ d 2 ⌋ ) time [20]. Furthermore, even if we consider only minimized representations, the size of a ... |

6 |
State equation, controllability, and maximal matchings of Petri nets
- Murata
- 1977
(Show Context)
Citation Context ...the size of a channel is always positive, so the reduction rule for non-negative variables can be used in the analysis. This problem is related to the problem of structural boundedness of a Petri Net =-=[25]-=-, where an upper bound on the number of tokens that can be in each place of the Petri Net must be found. 36s• Analysis of timed systems: Clocks and delays are restricted to positive values in many typ... |

5 |
Process synchronization by counter variables
- Gerber
- 1977
(Show Context)
Citation Context ...of mutual exclusion and other synchronization properties among concurrent processes: many high-level synchronization constraints can be expressed easily as properties on counter (semaphore) variables =-=[16]-=-. For instance, mutual exclusion among n processes can be represented with constraints like (x1 + . . . + xn ≤ 1), where xi = 1 if the process i is inside the critical section, and xi = 0 otherwise. 6... |

5 |
A note on chernikova’s algorithm
- Verge
- 1992
(Show Context)
Citation Context ...an example of a convex polyhedron and its double description. There is a procedure that translates from one representation into the other. This procedure was described in [6], and further improved in =-=[14, 34]-=-. Given a system of c constraints over Qd , the computation of the dual representation requires O(c ⌊ d 2 ⌋ ) time [20]. Furthermore, even if we consider only minimized representations, the size of a ... |

2 |
Symbolic simulation of interpreted automata
- Mauras
- 1996
(Show Context)
Citation Context ... of these constraints. In other representations, each node encodes one complex constraint like a linear inequality. Some examples of these representations are Decision Diagrams with Constraints (DDC) =-=[19]-=- and Hybrid-Restriction Diagrams (HRD) [36]. Again, these diagrams can encode conjunctions and disjunctions of linear inequalities. Nevertheless, there is no sistematic procedure to combine the differ... |

2 |
et al. Memory element of the Master-Slave latch type, constructed by CMOS technology
- Piguet
- 1998
(Show Context)
Citation Context ...efficients different from ±1 are necessary. A typical counterexample would be a circuit where one path must be c times longer than another one, e.g. a fast counter. Figure 16(a) depicts a D flip-flop =-=[27]-=-. Briefly stated, a D flip-flop is a 1-bit register. It stores the data value in signal D whenever there is a rising edge in the clock signal CK. The output Q of the circuit is the value which was sto... |

1 |
Convex Polyhedra Library. http://www.irisa.fr/prive/bjeannet/newpolka.html
- Polka
(Show Context)
Citation Context ...7]. The analysis of clock variables has been performed using two different numerical abstractions: convex polyhedra and octahedra. The implementation of polyhedra uses the New Polka polyhedra library =-=[26]-=-, while the library of OhDD is implemented on top of the CUDD package [32]. Table 2 shows a comparison of the experimental results for some examples. All these examples were verified successfully usin... |