Verification of sequential and concurrent programs
Verification of sequential and concurrent programs
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Toward reliable modular programs
Toward reliable modular programs
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
An axiomatic basis for computer programming
Communications of the ACM
Object-Oriented Software Construction
Object-Oriented Software Construction
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
A Logic of Object-Oriented Programs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Logical foundations for typed object-oriented languages
PROCOMET '98 Proceedings of the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods
Upgrading the Pre- and Postcondition Technique
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume I: Conference Contributions - Volume I
Formal Specification and Verification of JavaCard's Application Identifier Class
JavaCard '00 Revised Papers from the First International Workshop on Java on Smart Cards: Programming and Security
A Unified Framework for Verification Techniques for Object Invariants
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Enforcing structural invariants using dynamic frames
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Beyond assertions: advanced specification and verification with JML and ESC/Java2
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Controlling object allocation using creation guards
FM'05 Proceedings of the 2005 international conference on Formal Methods
Specification and Verification of Invariants by Exploiting Layers in OO Designs
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Hi-index | 0.00 |
A proof system is presented for the verification and derivation of object oriented programs with as main features strong typing, dynamic binding, and inheritance. The proof system is inspired on Meyer's system of class invariants [12] and remedies its unsoundness, which is already recognized by Meyer. Dynamic binding is treated in a flexible way: when throughout the class hierarchy overriding methods respect the preand postconditions of the overridden methods, very simple proof rules for method calls suffice; more powerful proof rules are supplied for cases where one cannot or does not want to follow this restriction. The proof system is complete relative to proofs for properties of pointers and the data domain.