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

Felipe R. Monteiro, Erickson H. Da S. Alves, Isabela S. Silva, Hussama I. Ismail, Lucas C. Cordeiro, Eddie B. De Lima Filho

Research output: Contribution to journalArticlepeer-review

291 Downloads (Pure)

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.
Original languageEnglish
Pages (from-to)63-69
Number of pages6
JournalScience of Computer Programming
Volume152
Early online date19 Sept 2017
DOIs
Publication statusPublished - 15 Jan 2018

Fingerprint

Dive into the research topics of 'ESBMC-GPU A context-bounded model checking tool to verify CUDA programs'. Together they form a unique fingerprint.

Cite this