Academic Journals Database
Disseminating quality controlled scientific knowledge

A Framework for Model Checking Concurrent Java Components

ADD TO MY LIST
 
Author(s): Brad Long

Journal: Journal of Software
ISSN 1796-217X

Volume: 4;
Issue: 8;
Start page: 867;
Date: 2009;
Original page

Keywords: model checking | concurrency | Java | testing and verification

ABSTRACT
The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems, such as interference and deadlock. In this paper we illustrate how to construct a base model of Java concurrency primitives using the Promela language of SPIN. Subsequently, a readers-writers monitor, and eighteen mutants, are used as an example to show the power and simplicity of using SPIN for verifying concurrent Java components. This builds on previous work and contributes in three ways, 1) each Java concurrency primitive is modelled directly and added to a standard modelling library for inclusion into models for a range of concurrent components, 2) we assume a concurrent component may be used in potentially many contexts rather than simply the context or contexts it may have been used or found, 3) by providing a modelling library we illustrate how model checking can be implemented in a simple, powerful, and practical manner.
Why do you need a reservation system?      Save time & money - Smart Internet Solutions