A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
Toward a typed foundation for method specialization and inheritance
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A denotational semantics of inheritance and its correctness
Information and Computation
Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS
IEEE Transactions on Software Engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Objects and classes, co-algebraically
Object orientation with parallelism and persistence
Reasoning about Java classes: preliminary report
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Theory and Practice of Object Systems - Third workshop on foundations of object-oriented languages (FOOL 3)
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
Specification of the Javacard API in JML
Proceedings of the fourth working conference on smart card research and advanced applications on Smart card research and advanced applications
A Theory of Objects
The Java Language Specification
The Java Language Specification
Java Program Verification via a Hoare Logic with Abrupt Termination
FASE '00 Proceedings of the Third Internationsl Conference on Fundamental Approaches to Software Engineering: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Inheritance and Cofree Constructions
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Object-Oriented Verification Based on Record Subtyping in Higher-Order Logic
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
Formal Techniques for Java Programs
Proceedings of the Workshop on Object-Oriented Technology
A Logic for the Java Modeling Language JML
FASE '01 Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering
A Monad for Basic Java Semantics
AMAST '00 Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology
The LOOP Compiler for Java and JML
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
A Deductive Proof System for Multithreaded Java with Exceptions
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Hi-index | 0.00 |
This paper describes a way of modeling inheritance (in object-oriented programming languages) in higher order logic. This particular approach is used in the LOOP project for reasoning about JAVA classes, with the proof tools PVS and ISABELLE. It relies on nested interface types to capture the superclasses, fields, methods, and constructors of classes, together with suitable casting functions incorporating the difference between hiding of fields and overriding of methods. This leads to the proper handling of late binding, as illustrated in several verification examples.