A Compositional Natural Semantics and Hoare Logic for Low-Level Languages

Ando Saabas

Research output: Contribution to journalConference articlepeer-review

Abstract

The advent of proof-carrying code has generated significant interest in reasoning about low-level languages. It is widely believed that low-level languages with jumps must be difficult to reason about by being inherently non-modular. We argue that this is untrue. We take it seriously that, differently from statements of a high-level language, pieces of low-level code are multiple-entry and multiple-exit. And we define a piece of code to consist of either a single labelled instruction or a finite union of pieces of code. Thus we obtain a compositional natural semantics and a matching Hoare logic for a basic low-level language with jumps. By their simplicity and intuitiveness, these are comparable to the standard natural semantics and Hoare logic of While. The Hoare logic is sound and complete wrt. the semantics and allows for compilation of proofs of the Hoare logic of While.

Original languageEnglish
Pages (from-to)151-168
Number of pages18
JournalElectronic Notes in Theoretical Computer Science
Volume156
Issue number1 SPEC. ISS.
DOIs
Publication statusPublished - 15 May 2006

Bibliographical note

Funding Information: 1 Research activity partially supported by the Estonian Science Foundation under grant No. 5567. Travel supported by the EU FP5 IST project eVikings II. 2 Email addresses: [email protected], [email protected]

Other keywords

  • Certified Code
  • Compositional Reasoning
  • Low-Level Languages
  • Natural Semantics
  • Program Logics

Fingerprint

Dive into the research topics of 'A Compositional Natural Semantics and Hoare Logic for Low-Level Languages'. Together they form a unique fingerprint.

Cite this