Results 1  10
of
15
FAST: Acceleration from theory to practice
, 2008
"... Fast is a tool for the analysis of systems manipulating unbounded integer variables. We check safety properties by computing the reachability set of the system under study. Even if this reachability set is not necessarily recursive, we use innovative techniques, namely symbolic representation, acc ..."
Abstract

Cited by 28 (4 self)
 Add to MetaCart
Fast is a tool for the analysis of systems manipulating unbounded integer variables. We check safety properties by computing the reachability set of the system under study. Even if this reachability set is not necessarily recursive, we use innovative techniques, namely symbolic representation, acceleration and circuit selection, to increase convergence. Fast has proved to perform very well on case studies. This paper describes the tool, from the underlying theory to the architecture choices. Finally, Fast capabilities are compared with those of other tools. A range of case studies from the literature is investigated.
Fast Acceleration of Ultimately Periodic Relations
, 2010
"... Computing transitive closures of integer relations is the key to finding precise invariants of integer programs. In this paper, we describe an efficient algorithm for computing the transitive closures of difference bounds, octagonal and finite monoid affine relations. On the theoretical side, this ..."
Abstract

Cited by 26 (4 self)
 Add to MetaCart
(Show Context)
Computing transitive closures of integer relations is the key to finding precise invariants of integer programs. In this paper, we describe an efficient algorithm for computing the transitive closures of difference bounds, octagonal and finite monoid affine relations. On the theoretical side, this framework provides a common solution to the acceleration problem, for all these three classes of relations. In practice, according to our experiments, the new method performs up to four orders of magnitude better than the previous ones, making it a promising approach for the verification of integer programs.
On (Omega)Regular Model Checking
, 2008
"... Checking infinitestate systems is frequently done by encoding infinite sets of states as regular languages. Computing such a regular representation of, say, the set of reachable states of a system requires acceleration techniques that can finitely compute the effect of an unbounded number of transi ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
(Show Context)
Checking infinitestate systems is frequently done by encoding infinite sets of states as regular languages. Computing such a regular representation of, say, the set of reachable states of a system requires acceleration techniques that can finitely compute the effect of an unbounded number of transitions. Among the acceleration techniques that have been proposed, one finds both specific and generic techniques. Specific techniques exploit the particular type of system being analyzed, e.g. a system manipulating queues or integers, whereas generic techniques only assume that the transition relation is represented by a finitestate transducer, which has to be iterated. In this paper, we investigate the possibility of using generic techniques in cases where only specific techniques have been exploited so far. Finding that existing generic techniques are often not applicable in cases easily handled by specific techniques, we have developed a new approach to iterating transducers. This new approach builds on earlier work, but exploits a number of new conceptual and algorithmic ideas, often induced with the help of experiments, that give it a broad scope, as well as good performances.
Reversalbounded counter machines revisited
, 2008
"... We extend the class of reversalbounded counter machines by authorizing a finite number of alternations between increasing and decreasing mode over a given bound. We prove that extended reversalbounded counter machines also have effective semilinear reachability sets. We also prove that the prop ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
We extend the class of reversalbounded counter machines by authorizing a finite number of alternations between increasing and decreasing mode over a given bound. We prove that extended reversalbounded counter machines also have effective semilinear reachability sets. We also prove that the property of being reversalbounded is undecidable in general even when we fix the bound, whereas this problem becomes decidable when considering Vector Addition System with States.
LIRA: Handling Constraints of Linear Arithmetics over the Integers and the Reals ⋆
"... The mechanization of many verification tasks relies on efficient implementations of decision procedures for fragments of firstorder logic. Interactive ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
(Show Context)
The mechanization of many verification tasks relies on efficient implementations of decision procedures for fragments of firstorder logic. Interactive
EHRENFEUCHTFRAÏSSÉ GOES AUTOMATIC FOR REAL ADDITION
, 2008
"... Various logical theories can be decided by automatatheoretic methods. Notable examples are Presburger arithmetic FO(Z, +, <) and the linear arithmetic over the reals FO(R, +, <), for which effective decision procedures can be built using automata. Despite the practical use of automata to dec ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Various logical theories can be decided by automatatheoretic methods. Notable examples are Presburger arithmetic FO(Z, +, <) and the linear arithmetic over the reals FO(R, +, <), for which effective decision procedures can be built using automata. Despite the practical use of automata to decide logical theories, many research questions are still only partly answered in this area. One of these questions is the complexity of such decision procedures and the related question about the minimal size of the automata of the languages that can be described by formulas in the respective logic. In this paper, we establish a double exponential upper bound on the automata size for FO(R, +, <) and an exponential upper bound for the discrete order over the integers FO(Z, <). The proofs of these upper bounds are based on EhrenfeuchtFraïssé games. The application of this mathematical tool has a similar flavor as in computational complexity theory, where it can often be used to establish tight upper bounds of the decision problem for logical theories.
Relational Analysis of Integer Programs
, 2012
"... Verifying an integer program against safety requirements requires, in general, the computation of an invariant of the program, needed to prove the unreachability of one or several error states. Traditionally, such invariants are computed by handling finite representations of potentially infinite set ..."
Abstract
 Add to MetaCart
Verifying an integer program against safety requirements requires, in general, the computation of an invariant of the program, needed to prove the unreachability of one or several error states. Traditionally, such invariants are computed by handling finite representations of potentially infinite sets of states, such as abstract domains, boolean combination of predicates, etc. In this paper, we introduce a method of proving safety properties, that tracks relations instead of sets of states. As relations store, in general, more information about the system’s behavior than reachability sets, they prove to be a useful tool in designing modular verification techniques, in which each function of the program is analysed separately, and its computed summary is plugged in at every call site. The key to computing accurate relations describing the behavior of a program is inferring the transitive closures of the relations labeling the control loops of the program. We describe an efficient algorithm for computing the transitive closures of difference bounds, octagonal and finite monoid affine relations. On the theoretical side, this framework provides a common solution to the acceleration problem, for all these classes of relations. In practice, according to our experiments, the new method performs up to four orders of magnitude better than existing acceleration algorithms, making it a promising approach for the verification of integer programs. The transitive closure algorithm has been implemented and integrated in a tool for the interprocedural analysis of integer programs.
Abstract A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice
"... Type systems featuring counting constraints are often studied, but seldom implemented. We describe an efficient implementation of a type system for unordered, edgelabeled trees based on Presburger arithmetic constraints. We begin with a type system for unordered trees and give a compilation into co ..."
Abstract
 Add to MetaCart
(Show Context)
Type systems featuring counting constraints are often studied, but seldom implemented. We describe an efficient implementation of a type system for unordered, edgelabeled trees based on Presburger arithmetic constraints. We begin with a type system for unordered trees and give a compilation into counting automata. We then describe an optimized implementation that provides the fundamental operations of membership and emptiness testing. Although each operation has worstcase exponential complexity, we show how to achieve reasonable performance in practice using a combination of techniques, including syntactic translations, lazy automata unfolding, hashconsing, memoization, and incremental tree processing implemented using partial evaluation. These techniques avoid constructing and examining large structures in many cases and amortize the costs of expensive operations across many computations. To demonstrate the effectiveness of these optimizations, we present experimental data from executions on realistically sized examples drawn from the Harmony data synchronizer.
Decomposition of Decidable FirstOrder Logics over Integers and Reals
"... We tackle the issue of representing infinite sets of realvalued vectors. This paper introduces an operator for combining integer and real sets. Using this operator, we decompose three wellknown logics extending Presburger with reals. Our decomposition splits a logic into two parts: one integer, an ..."
Abstract
 Add to MetaCart
(Show Context)
We tackle the issue of representing infinite sets of realvalued vectors. This paper introduces an operator for combining integer and real sets. Using this operator, we decompose three wellknown logics extending Presburger with reals. Our decomposition splits a logic into two parts: one integer, and one decimal (i.e. on the interval [0, 1[). We also give a basis for an implementation of our representation.