Analyzing BlobFlow: A Case Study Using Model Checking to Verify Parallel Scientific Software

  • Authors:
  • Stephen F. Siegel;Louis F. Rossi

  • Affiliations:
  • Verified Software Laboratory, Department of Computer and Information Sciences, University of Delaware, Newark, USA DE 19716;Department of Mathematical Sciences, University of Delaware, Newark, USA DE 19716

  • Venue:
  • Proceedings of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model checking techniques are powerful tools for the analysis and verification of concurrent systems. This paper reports on a case study applying model checking techniques to a mature, MPI-based scientific program consisting of approximately 10K lines of code. The program, BlobFlow, implements a high order vortex method for solving the two-dimensional Navier-Stokes equations. Despite the complexity of the code, we verify properties including freedom from deadlock and the functional equivalence of sequential and parallel versions of the program. This has led to new insights into the technology that will be required to automate the modeling and verification process for complex scientific software.