• Home
  • Search
  • On Algebra of Program Correctness and Incorrectness
  • Cite Icon21
  • https://doi.org/10.1007/978-3-030-88701-8_20Copy DOI Icon

On Algebra of Program Correctness and Incorrectness

  • Jan 1, 2021
  • Bernhard Möller +2 more
Show More
  • Abstract
  • Highlights & Summary
  • PDF
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Abstract Variants of Kleene algebra have been used to provide foundations of reasoning about programs, for instance by representing Hoare Logic (HL) in algebra. That work has generally emphasised program correctness, i.e., proving the absence of bugs. Recently, Incorrectness Logic (IL) has been advanced as a formalism for the dual problem: proving the presence of bugs. IL is intended to underpin the use of logic in program testing and static bug finding. Here, we use a Kleene algebra with diamond operators and countable joins of tests, which embeds IL, and which also is complete for reasoning about the image of the embedding. Next to embedding IL, the algebra is able to embed HL, and allows making connections between IL and HL specifications. In this sense, it unifies correctness and incorrectness reasoning in one formalism.

Loading PDF

Similar Papers
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.