A Framework for Model Checking Concurrent Java Components

Uložené v:
Podrobná bibliografia
Názov: A Framework for Model Checking Concurrent Java Components
Autori: Brad Long
Prispievatelia: The Pennsylvania State University CiteSeerX Archives
Zdroj: http://ojs.academypublisher.com/index.php/jsw/article/download/0408867874/1122/.
Zbierka: CiteSeerX
Predmety: Index Terms — model checking, concurrency, Java
Popis: — The Java programming language supports con-currency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent non-determinism and a number of specific concurrency prob-lems, 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. Subse-quently, 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.
Druh dokumentu: text
Jazyk: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.669.5486; http://ojs.academypublisher.com/index.php/jsw/article/download/0408867874/1122/
Dostupnosť: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.669.5486
http://ojs.academypublisher.com/index.php/jsw/article/download/0408867874/1122/
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Prístupové číslo: edsbas.3C99F240
Databáza: BASE
Popis
Abstrakt:— The Java programming language supports con-currency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent non-determinism and a number of specific concurrency prob-lems, 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. Subse-quently, 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.