منابع مشابه
Lazy Behavioral Subtyping
Inheritance combined with late binding allows flexible code reuse but complicates formal reasoning significantly, as a method call’s receiver class is not statically known. This is especially true when programs are incrementally developed by extending class hierarchies. This paper develops a novel method to reason about late bound method calls. In contrast to traditional behavioral subtyping, r...
متن کاملIncremental reasoning with lazy behavioral subtyping for multiple inheritance
Object-orientation supports code reuse and incremental programming. Mul-tiple inheritance increases the possibilities for code reuse, but complicatesthe binding of method calls and thereby program analysis. Behavioral sub-typing allows program analysis under an open world assumption; i.e., un-der the assumption that class hierarchies are extensible. However, methodredefiniti...
متن کاملEnriching Behavioral Subtyping
The standard approach to dealing with OO polymorphism is to require subclasses to be behavioral subtypes of the base class. This ensures that reasoning that has been done about any client code that operates on base class objects will continue to be valid if instances of the subclasses are used in place of the base class objects. But often we are interested in stronger properties of the client c...
متن کاملBehavioral subtyping through typed assertions
This paper presents a critical discussion of popular approaches to ensure the Liskov substitution principle in class hierarchies (e.g. Design by ContractTM, specification inheritance). It will be shown that they have some deficiencies which are due to the way how effective constraints are calculated for subclass methods. A new mechanism, called client conformance, is introduced that takes the c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: The Journal of Logic and Algebraic Programming
سال: 2010
ISSN: 1567-8326
DOI: 10.1016/j.jlap.2010.07.008