Formal Methods for GPGPU Programming: Is the Demand Met?

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

98 Downloads (Pure)


Over the years, researchers have developed many formal method tools to support software development. However, hardly any studies are conducted to determine whether the actual problems developers encounter are sufficiently addressed. For the relatively young field of GPU programming, we would like to know whether the tools developed so far are sufficient, or whether some problems still need attention. To this end, we first look at what kind of problems programmers encounter in OpenCL and CUDA. We gather problems from Stack Overflow and categorise them with card sorting. We find that problems related to memory, synchronisation of threads, threads in general and performance are essential topics. Next, we look at (verification) tools in industry and research, to see how these tools addressed the problems we discovered. We think many problems are already properly addressed, but there is still a need for easy to use sound tools. Alternatively, languages or programming styles can be created, that allows for easier checking for soundness.

Original languageEnglish
Title of host publicationIntegrated Formal Methods - 16th International Conference, IFM 2020, Proceedings
EditorsBrijesh Dongol, Elena Troubitsyna
Number of pages18
ISBN (Print)9783030634605
Publication statusPublished - 2020
Event16th International Conference on Integrated Formal Methods, IFM 2020 - Lugano, Switzerland
Duration: 16 Nov 202020 Nov 2020

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume12546 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference16th International Conference on Integrated Formal Methods, IFM 2020


  • Bugs
  • CUDA
  • Formal methods
  • GPU
  • OpenCL
  • Verification


Dive into the research topics of 'Formal Methods for GPGPU Programming: Is the Demand Met?'. Together they form a unique fingerprint.

Cite this