Model checking multithreaded programs with asynchronous atomic methods

  • Authors:
  • Koushik Sen;Mahesh Viswanathan

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana-Champaign;Department of Computer Science, University of Illinois at Urbana-Champaign

  • Venue:
  • CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In order to make multithreaded programming manageable, programmers often follow a design principle where they break the problem into tasks which are then solved asynchronously and concurrently on different threads. This paper investigates the problem of model checking programs that follow this idiom. We present a programming language Spl that encapsulates this design pattern. Spl extends simplified form of sequential Java to which we add the capability of making asynchronous method invocations in addition to the standard synchronous method calls and the ability to execute asynchronous methods in threads atomically and concurrently. Our main result shows that the control state reachability problem for finite Spl programs is decidable. Therefore, such multithreaded programs can be model checked using the counterexample guided abstraction-refinement framework.