ESBMC-GPU A context-bounded model checking tool to verify CUDA programs

作者:Monteiro Felipe R*; Alves Erickson H da S; Silva Isabela S; Ismail Hussama I; Cordeiro Lucas C; de Lima Filho Eddie B
来源:Science of Computer Programming, 2018, 152: 63-69.
DOI:10.1016/j.scico.2017.09.005

摘要

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.

  • 出版日期2018-1-15