Introduction to mathematical logic (3rd ed.)
Introduction to mathematical logic (3rd ed.)
Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom Systems
Journal of the ACM (JACM)
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Complementary Definitions of Programming Language Semantics
Complementary Definitions of Programming Language Semantics
Design of Well-Structured and Correct Programs
Design of Well-Structured and Correct Programs
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Side effects and aliasing can have simple axiomatic descriptions
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generalized iterative construct and its semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards fully abstract semantics for local variables
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Technical correspondence: performance of the simplex algorithm in real-world linear programming
Communications of the ACM
Technical communications: Critiquing a critique of Hoare's programming logics
Communications of the ACM
Technical communications: Critiquing a critique of Hoare's programming logics. author's response
Communications of the ACM
Technical communications: Critiquing a critique of Hoare's programming logics. author's response
Communications of the ACM
A proposed graduate course in automatic software generation
ACM SIGCSE Bulletin
A compositional natural semantics and Hoare logic for low-level languages
Theoretical Computer Science
Hoare type theory, polymorphism and separation1
Journal of Functional Programming
A Compositional Natural Semantics and Hoare Logic for Low-Level Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantic foundations for typed assembly languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A compositional logic for control flow
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Hi-index | 48.30 |
Much recent discussion in computing journals has been devoted to arguments about the feasibility and usefulness of formal verification methods. Too little attention has been given to precise criticism of specific proposed systems for reasoning about programs. Whether such systems are to be used for formal verification, by hand or automatically, or as a rigorous foundation for informal reasoning, it is essential that they be logically sound. Several popular rules in the Hoare language are, in fact, not sound. These rules have been accepted because they have not been subjected to sufficiently strong standards of correctness. This paper attempts to clarify the different technical definitions of correctness of a logic, to show that only the strongest of these definitions is acceptable for Hoare logic, and to correct some of the unsound rules that have appeared in the literature. The corrected rules are given merely to show that it is possible to do so. Convenient and elegant rules for reasoning about certain programming constructs will probably require a more flexible notation than Hoare's.