CAT.INIST
Accueil du sitewww.cnrs.frwww.inist.frOther CNRS


COMMANDER / ORDER
PARTAGER / SHARE
EXPORT
Bookmark and Share
Mendeley    EndNote

Titre du document / Document title

Extending JML for modular specification and verification of multi-threaded programs

Auteur(s) / Author(s)

RODRIGUEZ Edwin (1) ; DWYER Matthew (2) ; FLANAGAN Cormac (3) ; HATCLIFF John (1) ; LEAVENS Gary T. (4) ; ROBBY (1) ;

Affiliation(s) du ou des auteurs / Author(s) Affiliation(s)

(1) Department of Computing and Information Sciences, Kansas State University, ETATS-UNIS
(2) Department of Computer Science and Engineering, University of Nebraska-Lincoln, ETATS-UNIS
(3) Computer Science Department, University of California at Santa Cruz, ETATS-UNIS
(4) Department of Computer Science, Iowa State University, ETATS-UNIS

Résumé / Abstract

The Java Modeling Language (JML) is a formal specification language for Java that allows developers to specify rich software contracts for interfaces and classes, using pre- and postconditions and invariants. Although JML has been widely studied and has robust tool support based on a variety of automated verification technologies, it shares a problem with many similar object-oriented specification languages-it currently only deals with sequential programs. In this paper, we extend JML to allow for effective specification of multi-threaded Java programs. The new constructs rely on the non-interference notion of method atomicity, and allow developers to specify locking and other non-interference properties of methods. Atomicity enables effective specification of method pre- and postconditions and supports Hoare-style modular reasoning about methods. Thus the new constructs mesh well with JML's existing features. We validate the specification language design by specifying the behavior of a number of complex Java classes designed for use in multi-threaded programs. We also demonstrate that it is amenable to automated verification using model checking technology.

Revue / Journal Title

Lecture notes in computer science   ISSN 0302-9743 

Source / Source

Congrès
ECOOP 2005 : object-oriented programming :   ( Glasgow, 25-29 July 2005 )
European conference on object-oriented programming No19, Glasgow , ROYAUME-UNI (25/07/2005)
2005  , vol. 3586, pp. 551-576[Note(s) : XVII, 629 p., ] [Document : 26 p.] (39 ref.) ISBN 3-540-27992-X ;  Illustration : Illustration ;

Langue / Language

Anglais

Editeur / Publisher

Springer, Berlin, ALLEMAGNE  (1973) (Revue)
Springer, Berlin, ALLEMAGNE  (2005) (Monographie)

Mots-clés anglais / English Keywords

Atomicity ; Complex number ; Locking ; Invariant ; Modeling ; Confidentiality ; Contract ; Multithread ; Modular programming ; Modelling language ; Model checking ; Computer security ; Object oriented ; Automatic proving ; Specification language ; Formal specification ; Formal language ; JAVA language ; Program verification ; Software development ;

Mots-clés français / French Keywords

Atomicité ; . ; Nombre complexe ; Verrouillage ; Invariant ; Modélisation ; Confidentialité ; Contrat ; Multitâche ; Programmation modulaire ; Langage modélisation ; Vérification modèle ; Sécurité informatique ; Orienté objet ; Démonstration automatique ; Langage spécification ; Spécification formelle ; Langage formel ; Langage JAVA ; Vérification programme ; Développement logiciel ;

Mots-clés espagnols / Spanish Keywords

Atomicidad ; Número complejo ; Fijación ; Invariante ; Modelización ; Confidencialidad ; Contrato ; Multitarea ; Programación modular ; Lenguaje modelización ; Verificación modelo ; Seguridad informatica ; Orientado objeto ; Demostración automática ; Lenguaje especificación ; Especificación formal ; Lenguaje formal ; Lenguaje JAVA ; Verificación programa ; Desarrollo logicial ;

Localisation / Location

INIST-CNRS, Cote INIST : 16343, 35400012441136.0240

Nº notice refdoc (ud4) : 17136214

COMMANDER / ORDER
PARTAGER / SHARE
EXPORT
Bookmark and Share
Mendeley    EndNote

CAT.INIST