Abstract—We present a symbolic execution-based technique for cross-checking programs accelerated using SIMD or OpenCL against an unaccelerated version, as well as a technique for detecting data races in OpenCL programs. Our techniques are implemented in KLEE-CL, a tool based on the symbolic execution engine KLEE that supports symbolic reasoning on the equivalence between expressions involving both integer and floating-point operations. While the current generation of constraint solvers provide effective support for integer arithmetic, the situation is different for floating-point arithmetic, due to the complexity inherent in such computations. The key insight behind our approach is that floating-point values are only reliably equal if they ...
In this paper we describe efficient symbolic evaluation techniques to compute the values of variable...
This paper proposes a novel optimization of bounded model checking (BMC) for better run-time efficie...
Bisimulation is a fundamental notion that characterizes behavioral equivalence of concurrent systems...
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...
Symbolic execution is a program testing technique which evaluates statements with symbolic input dat...
International audienceSymbolic execution is a classical program testing technique which evaluates a ...
Verifying critical numerical software involves the generation of test data for floating-point intens...
The current trend of multi-core and multi-processor computing is causing a paradigm shift from inher...
In recent years, the use of symbolic analysis in systems for testing and verifying programs has exp...
The focus of this thesis is a program analysis technique named symbolic execution. We present three...
Modern software systems, which often are concurrent and manipulate complex data structures must be ...
We propose a new algorithm for verifying concurrent programs, which uses concrete executions to part...
To effectively translate real programs written in standard, sequential languages into parallel compu...
Programs with floating-point calculations tend to give rise to hard-to-predict behavior. Such uncert...
In this paper we describe efficient symbolic evaluation techniques to compute the values of variable...
This paper proposes a novel optimization of bounded model checking (BMC) for better run-time efficie...
Bisimulation is a fundamental notion that characterizes behavioral equivalence of concurrent systems...
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...
Symbolic execution is a program testing technique which evaluates statements with symbolic input dat...
International audienceSymbolic execution is a classical program testing technique which evaluates a ...
Verifying critical numerical software involves the generation of test data for floating-point intens...
The current trend of multi-core and multi-processor computing is causing a paradigm shift from inher...
In recent years, the use of symbolic analysis in systems for testing and verifying programs has exp...
The focus of this thesis is a program analysis technique named symbolic execution. We present three...
Modern software systems, which often are concurrent and manipulate complex data structures must be ...
We propose a new algorithm for verifying concurrent programs, which uses concrete executions to part...
To effectively translate real programs written in standard, sequential languages into parallel compu...
Programs with floating-point calculations tend to give rise to hard-to-predict behavior. Such uncert...
In this paper we describe efficient symbolic evaluation techniques to compute the values of variable...
This paper proposes a novel optimization of bounded model checking (BMC) for better run-time efficie...
Bisimulation is a fundamental notion that characterizes behavioral equivalence of concurrent systems...