A Certified Data Race Analysis for a Java-like Language

  • Authors:
  • Frédéric Dabrowski;David Pichardie

  • Affiliations:
  • INRIA, Centre Rennes - Bretagne Atlantique, Rennes, France;INRIA, Centre Rennes - Bretagne Atlantique, Rennes, France

  • Venue:
  • TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

A fundamental issue in multithreaded programming is detecting data races . A program is said to be well synchronised if it does not contain data races w.r.t. an interleaving semantics. Formally ensuring this property is central, because the java Memory Model then guarantees that one can safely reason on the interleaved semantics of the program. In this work we formalise in the coq proof assistant a java bytecode data race analyser based on the conditional must-not alias analysis of Naik and Aiken. The formalisation includes a context-sensitive points-to analysis and an instrumented semantics that counts method calls and loop iterations. Our java -like language handles objects, virtual method calls, thread spawning and lock and unlock operations for threads synchronisation.