Title
ESBMC-GPU A context-bounded model checking tool to verify CUDA programs.
Abstract
The Compute Unified Device Architecture (CUDA) is a programming model used for exploring the advantages of graphics processing unit (GPU) devices, through parallelization and specialized functions and features. Nonetheless, as in other development platforms, errors may occur, due to traditional software creation processes, which may even compromise the execution of an entire system. In order to address such a problem, ESBMC-GPU was developed, as an extension to the Efficient SMT-Based Context-Bounded Model Checker (ESBMC). In summary, ESBMC processes input code through ESBMC-GPU and an abstract representation of the standard CUDA libraries, with the goal of checking a set of desired properties. Experimental results showed that ESBMC-GPU was able to correctly verify 85% of the chosen benchmarks and it also overcame other existing GPU verifiers regarding the verification of data-race conditions, array out-of-bounds violations, assertive statements, pointer safety, and the use of specific CUDA features.
Year
DOI
Venue
2018
10.1016/j.scico.2017.09.005
Science of Computer Programming
Keywords
Field
DocType
GPU verification,Formal verification,Model checking,CUDA
Pointer (computer programming),Programming language,Model checking,Programming paradigm,Computer science,CUDA,Parallel computing,Theoretical computer science,Software,Graphics processing unit,Formal verification,Bounded function
Journal
Volume
Issue
ISSN
152
C
0167-6423
Citations 
PageRank 
References 
3
0.42
9
Authors
6