Algebraic Semantics of Imperative Programs
Algebraic Semantics of Imperative Programs
Distributed cooperative formal methods tools
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Hidden coinduction: behavioural correctness proofs for objects
Mathematical Structures in Computer Science
Hi-index | 0.00 |
Cleverly designed software often fails to strictly satisfy its specifications, but instead satisfies them behaviorally, in the sense that they appear to be true under all possible experiments. Hidden algebra extends prior work on abstract data types and algebraic specification [2, 6] to concurrent distributed systems, in a surprisingly simple way that also handles nondeterminism, internal states, and more [4, 3]. Advantages of an algebraic approach include decidability results for problems that are undecidable for more expressive logics, and powerful algorithms like term rewriting and unification, for implementing equational logic tools. Much work in formal methods has addressed code verification, but since empirical studies show that little of software cost comes from coding errors, our approach focuses on behavioral specification and verification at the design level, thus avoiding the distracting complications of programming language semantics.