Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Writing Larch interface language specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Report on the Larch shared language
Science of Computer Programming
A Larch shared language handbook
Science of Computer Programming
Three approaches to type structure
Proc. of the international joint conference on theory and practice of software development (TAPSOFT) Berlin, March 25-29, 1985 on Mathematical foundations of software development, Vol. 1: Colloquium on trees in algebra and programming (CAAP'85)
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
How to make ad-hoc polymorphism less ad hoc
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An algebraic model of subtype and inheritance
Advances in database programming languages
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Representation independence and data abstraction
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Using category theory to design implicit conversions and generic operators
Semantics-Directed Compiler Generation, Proceedings of a Workshop
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
Simula Begin
Introduction to the literature on object-oriented design, programming, and languages
ACM SIGPLAN OOPS Messenger
Interfaces and specifications for the Smalltalk-80 collection classes
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Specifications and their use in defining subtypes
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Inheritance of interface specifications (extended abstract)
IDL '94 Proceedings of the workshop on Interface definition languages
Typechecking and modules for multi-methods
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
The Larch/Smalltalk interface specification language
ACM Transactions on Software Engineering and Methodology (TOSEM)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
Modular reasoning in the presence of subclassing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Typechecking and modules for multimethods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification matching of software components
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Reverse engineering of legacy code exposed
Proceedings of the 17th international conference on Software engineering
Forcing behavioral subtyping through specification inheritance
Proceedings of the 18th international conference on Software engineering
Specification matching of software components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Behavioural subtyping using invariants and constraints
Formal methods for distributed processing
Trigger Inheritance and Overriding in an Active Object Database System
IEEE Transactions on Knowledge and Data Engineering
A New Definition of the Subtype Relation
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Behavioral Compatibility of Self-Typed Theories
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Inheritance in a Deductive Object Database Language with Updates
Selected papers from the Eight International Workshop on Foundations of Models and Languages for Data and Objects, Transactions and Database Dynamics
How the design of JML accommodates both runtime assertion checking and formal verification
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
An assertion-based proof system for multithreaded Java
Theoretical Computer Science - Formal methods for components and objects
Reasoning about Object Structures Using Ownership
Verified Software: Theories, Tools, Experiments
Traditional assignment considered harmful
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Modular specification and verification of object-oriented programs
Modular specification and verification of object-oriented programs
Automatic testing of sequential and concurrent substitutability
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of different types and by letting supertypes stand for all their subtypes. We describe formal specification and verification techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about programs that use abstract data types. Semantic restrictions on subtype relationships guarantee the soundness of these techniques.