Verified compilation of Concurrent Managed Languages

Abstract

The goal of the Havoc project was to explore new proof techniques and methodologies that would enable scalable and modular verification of modern concurrent programming languages like Java or C# . The efforts undertaken during the lifetime of this effort focused on (a) new proof techniques, specifically the use of refinement methods and tactics to simplify reasoning about interferences in proving invariants about concurrent code; (b) incorporating precise notions of memory models, both at the processor and language level, to enable compilation to exploit and be faithful to language definitions and processor features; (c) new designs for compiler intermediate representations that facilitate mechanized proofs and verification; and (d) a realistic case study that combines these ideas to prove the correctness of a state-of-the-art concurrent garbage collector.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 2017
Accession Number
AD1043395

Entities

People

  • Jan Vitek
  • Suresh Jagannathan

Organizations

  • Purdue University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Abstracts
  • Accumulators
  • Air Force
  • Air Force Research Laboratories
  • Algorithms
  • Compilers
  • Computer Programming
  • Computer Programs
  • Computers
  • Government Procurement
  • Governments
  • Language
  • Programming Languages
  • Reasoning
  • Simulations
  • Standards
  • Verification

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Mathematical Modeling and Probability Theory.
  • Parallel and Distributed Computing.