Pascal user manual and report; 3rd ed.
Pascal user manual and report; 3rd ed.
Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom Systems
Journal of the ACM (JACM)
Assignment and Procedure Call Proof Rules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Predicative programming Part I
Communications of the ACM
A critique of the foundations of Hoare style programming logics
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
The Science of Programming
First-Order Dynamic Logic
A Discipline of Programming
A logic for expressions with side-effects
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the theory of programming logics
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
Proceedings of an ACM conference on Language design for reliable software
A logic for the russell programming language
A logic for the russell programming language
An axiomatic treatment of exception handling in an expression-oriented language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Verification of Ada Programs
IEEE Transactions on Software Engineering
Call by name, assignment, and the lambda calculus
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantic models and abstract interpretation techniques for inductive data structures and pointers
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Monadic state: axiomatization and type safety
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Toward a complete transformational toolkit for compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Roadmap for enhanced languages and methods to aid verification
Proceedings of the 5th international conference on Generative programming and component engineering
A generic complete dynamic logic for reasoning about purity and effects
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Hi-index | 0.00 |
We present a different style of axiomatic definition for programming languages. It is oriented toward imperative languages, such as Algol 68, that do not distinguish between statements and expressions. Rather than basing the logic on a notion of pre- or postcondition, we use the value of a programming language expression as the underlying primitive.A number of language constructs are examined in this framework. We argue that this style of definition gives us a significantly different view of the notion of “easy axiomatixability.” Side effects in expressions as well as aliasing between variables are shown to be “easily axiomatizable” in our system.