We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic. This method requires that a sequential version of the program be provided, to serve as the specification for the parallel one. The key idea is to use model checking, together with symbolic execution, to establish the equivalence of the two programs. In this approach the path condition from symbolic execution of the sequential program is used to constrain the search through the parallel program. To handle floating-point operations, three different types of equivalence are supported. Several examples are presented, demonstrating the approach and actual errors that were foun...
A simple but general parallel programming language is considered. The semantics of programs is defin...
This paper proposes a novel optimization of bounded model checking (BMC) for better run-time efficie...
International audienceComputer arithmetic has applied formal methods and formal proofs for years. As...
We present a method to verify the correctness of parallel programs that perform complex numerical co...
We present a method to verify the correctness of parallel programs that perform complex numerical co...
Abstract—We present a symbolic execution-based technique for cross-checking programs accelerated usi...
Modern software systems, which often are concurrent and manipulate complex data structures must be ...
AbstractModel checking procedures have already proved useful for system verification. They are succe...
The Message Passing Interface is a widely-used parallel programming model and is the effective stand...
We present a symbolic model checking approach that allows verifying a unit of code, e.g., a single p...
Symbolic Model Checking is a technique for checking certain properties of a finite state model of a ...
Programs with floating-point calculations tend to give rise to hard-to-predict behavior. Such uncert...
International audienceSymbolic execution is a classical program testing technique which evaluates a ...
In hardware verification, the introduction of symbolic model checking has been considered a break-th...
Symbolic execution is a program testing technique which evaluates statements with symbolic input dat...
A simple but general parallel programming language is considered. The semantics of programs is defin...
This paper proposes a novel optimization of bounded model checking (BMC) for better run-time efficie...
International audienceComputer arithmetic has applied formal methods and formal proofs for years. As...
We present a method to verify the correctness of parallel programs that perform complex numerical co...
We present a method to verify the correctness of parallel programs that perform complex numerical co...
Abstract—We present a symbolic execution-based technique for cross-checking programs accelerated usi...
Modern software systems, which often are concurrent and manipulate complex data structures must be ...
AbstractModel checking procedures have already proved useful for system verification. They are succe...
The Message Passing Interface is a widely-used parallel programming model and is the effective stand...
We present a symbolic model checking approach that allows verifying a unit of code, e.g., a single p...
Symbolic Model Checking is a technique for checking certain properties of a finite state model of a ...
Programs with floating-point calculations tend to give rise to hard-to-predict behavior. Such uncert...
International audienceSymbolic execution is a classical program testing technique which evaluates a ...
In hardware verification, the introduction of symbolic model checking has been considered a break-th...
Symbolic execution is a program testing technique which evaluates statements with symbolic input dat...
A simple but general parallel programming language is considered. The semantics of programs is defin...
This paper proposes a novel optimization of bounded model checking (BMC) for better run-time efficie...
International audienceComputer arithmetic has applied formal methods and formal proofs for years. As...