Logic and computation: interactive proof with Cambridge LCF
Logic and computation: interactive proof with Cambridge LCF
ACM Transactions on Programming Languages and Systems (TOPLAS)
Two semantic models of object-oriented languages
Theoretical aspects of object-oriented programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Names, equations, relations: practical ways to reason about new
Fundamenta Informaticae - Special issue: typed lambda-calculi and applications, selected papers
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Objects and classes in Algol-like languages
Information and Computation - FOOL V
A Theory of Objects
A Hoare Calculus for Verifying Java Realizations of OCL-Constrained Design Models
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
A Logic for the Java Modeling Language JML
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
Recursive Object Types in a Logic of Object-Oriented Programs
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Reasonong about Classess in Object-Oriented Languages: Logical Models and Tools
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Class-Based versus Object-Based: A Denotational Comparison
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
A Logic of Object-Oriented Programs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Possible World Semantics for General Storage in Call-By-Value
CSL '02 Proceedings of the 16th International Workshop and 11th Annual Conference of the EACSL on Computer Science Logic
Call-By-Push-Value: A Functional/Imperative Synthesis (Semantics Structures in Computation, V. 2)
Call-By-Push-Value: A Functional/Imperative Synthesis (Semantics Structures in Computation, V. 2)
Correctness of data representations involving heap data structures
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
Semantics and logic of object calculi
Theoretical Computer Science - Logic, semantics and theory of programming
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
On a monadic semantics for freshness
Theoretical Computer Science - Applied semantics: Selected topics
Denotational semantics for abadi and leino's logic of objects
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Relational reasoning in a nominal semantics for storage
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Relational semantics for effect-based program transformations with dynamic allocation
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Separation logic for higher-order store
CSL'06 Proceedings of the 20th international conference on Computer Science Logic
Hi-index | 0.00 |
The object-calculus is an imperative and object-based programming language in which every object comes equipped with its own method suite. Consequently, methods need to reside in the store (‘higher-order store’), which complicates the semantics. Abadi and Leino defined a program logic for this language enriching object types by method specifications. We present a new soundness proof for their logic using denotational semantics. It turns out that denotations of store specifications are predicates defined by mixed-variant recursion. A benefit of our approach is that derivability and validity can be kept distinct. Moreover, it reveals which of the limitations of Abadi and Leino's logic are incidental design decisions and which follow inherently from the use of a higher-order store. We discuss the implications for the development of other, more expressive, program logics.