International Conference on Formal Methods for Open Object-Based Distributed Systems

FMOODS 2008: Formal Methods for Open Object-Based Distributed Systems pp 220-239

VeriCool: An Automatic Verifier for a Concurrent Object-Oriented Language

  • Jan Smans
  • Bart Jacobs
  • Frank Piessens
Conference paper

DOI: 10.1007/978-3-540-68863-1_14

Volume 5051 of the book series Lecture Notes in Computer Science (LNCS)

Abstract

Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for data abstraction and framing. Reasoning about concurrent object-oriented programs is even harder, since in general interference by other threads has to be taken into account at each program point.

In this paper, we propose an approach to the automatic verification of concurrent Java-like programs. The cornerstone of the approach is a programming model, a set of rules, which limits thread inference to synchronization points such that one can reason sequentially about most code. In particular, programs conforming to the programming model are guaranteed to be data race free. Compared to previous incarnations of the programming model, our approach is more flexible in describing the set of memory locations protected by an object’s lock. In addition, we combine the model with an approach for data abstraction and framing based on dynamic frames. To the best of our knowledge, this is the first paper combining dynamic frames and concurrency.

We implemented the approach in a tool, called VeriCool, and used it to verify several small concurrent programs.

Download to read the full conference paper text

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Jan Smans
    • 1
  • Bart Jacobs
    • 1
  • Frank Piessens
    • 1
  1. 1.Katholieke Universiteit LeuvenBelgium