Computer-Assisted Program Reasoning Based on a Relational Semantics of Programs (Extended Abstract)

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

We present an approach to program reasoning which inserts between a program and its verification conditions an additional layer, the denotation of the program expressed in a declarative form. The program is first translated into its denotation from which subsequently the verification conditions are generated. However, even before (and independently of) any verification attempt, one may investigate the denotation itself to get insight into the “semantic essence” of the program, in particular to see whether the denotation indeed gives reason to believe that the program has the expected behavior. Errors in the program and in the meta-information may thus be detected and fixed prior to actually performing the formal verification. More concretely, following the relational approach to program semantics, we model the effect of a program as a binary relation on program states. A formal calculus is devised to derive from a program a a logic formula that describes this relation and is subject for inspection and manipulation. We have implemented this idea in a comprehensive form in the RISC ProgramExplorer, a new program reasoning environment for educational purposes which encompasses the previously developed RISC ProofNavigator as an interactive proving assistant.
Original languageEnglish
Title of host publicationTHedu'11, CTP Components for Educational Software, Workshop associated to CADE-23
Editors Pedro Quaresma and Ralph-Johan Back
Place of PublicationWroclaw, Poland, July 31
Pages55-59
Number of pages5
Publication statusPublished - 2011

Publication series

NameCISUC Technical Report

Fields of science

  • 101001 Algebra
  • 101002 Analysis
  • 101 Mathematics
  • 102 Computer Sciences
  • 102011 Formal languages
  • 101009 Geometry
  • 101013 Mathematical logic
  • 101020 Technical mathematics
  • 101025 Number theory
  • 101012 Combinatorics
  • 101005 Computer algebra
  • 101006 Differential geometry
  • 101003 Applied geometry
  • 102025 Distributed systems

JKU Focus areas

  • Computation in Informatics and Mathematics

Cite this