A Program Logic for Resource Verification

David Aspinall, Lennart Beringer, Martin Hofmann, Hans Wolfgang Loidl, Alberto Momigliano

Research output: Chapter in Book/Report/Conference proceedingChapter

19 Scopus citations

Abstract

We present a program logic for reasoning about resource consumption of programs written in Grail, an abstract fragment of the Java Virtual Machine Language. Serving as the target logic of a certifying compiler, the logic exploits Grail's dual nature of combining a functional interpretation with object-oriented features and a cost model for the JVM. We present the resource-aware operational semantics of Grail, the program logic, and prove soundness and completeness. All of the work described has been formalised in the theorem prover Isabelle/HOL, which provides us with an implementation of the logic as well as confidence in the results. We conclude with examples of using the logic for proving resource bounds on code resulting from compiling high-level functional programs.

Original languageEnglish (US)
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
EditorsKonrad Slind, Ganesh Gopalakrishnan, Annette Bunker
PublisherSpringer Verlag
Pages34-49
Number of pages16
ISBN (Print)3540230173, 9783540230175
DOIs
StatePublished - 2004
Externally publishedYes

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3223
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'A Program Logic for Resource Verification'. Together they form a unique fingerprint.

Cite this