کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
434375 1441721 2011 27 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Incremental reasoning with lazy behavioral subtyping for multiple inheritance
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Incremental reasoning with lazy behavioral subtyping for multiple inheritance
چکیده انگلیسی

Object-orientation supports code reuse and incremental programming. Multiple inheritance increases the possibilities for code reuse, but complicates the binding of method calls and thereby program analysis. Behavioral subtyping allows program analysis under an open world assumption; i.e., under the assumption that class hierarchies are extensible. However, method redefinition is severely restricted by behavioral subtyping, and multiple inheritance may lead to conflicting restrictions from independently designed superclasses. This paper presents a more liberal approach to incremental reasoning for multiple inheritance under an open world assumption. The approach, based on lazy behavioral subtyping, is well-suited for multiple inheritance, as it incrementally imposes context-dependent behavioral constraints on new subclasses. We first present the approach for a simple language and show how incremental reasoning can be combined with flexible code reuse. Then this language is extended with a hierarchy of interface types which is independent of the class hierarchy. In this setting, flexible code reuse can be combined with modular reasoning about external calls in the sense that each class is analyzed only once. We formalize the approach as a calculus and show soundness for both languages.

Research highlights
► Lazy behavioral subtyping for languages with multiple inheritance.
► Incremental reasoning for object-oriented programs.
► Healthy method binding strategy for multiple inheritance.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 76, Issue 10, 1 October 2011, Pages 915–941
نویسندگان
, , , ,