کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
432253 688839 2015 17 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
A proof system for adaptable class hierarchies
ترجمه فارسی عنوان
یک سیستم اثبات برای سلسله مراتب کلاس سازگار
کلمات کلیدی
تکامل نرم افزار، جهت گیری شی، تایید، سیستم های اثبات شده، به روز رسانی کلاس اصلاح کد پویا
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• Proof system for object oriented software evolution.
• Reasoning framework for changing code and specifications.
• Separation of concerns between guaranteed and required behavior.
• Soundness of proof system.

The code base of a software system undergoes changes during its life time. For object-oriented languages, classes are adapted, e.g., to meet new requirements, customize the software to specific user functionalities, or refactor the code to reduce its complexity. However, the adaptation of class hierarchies makes reasoning about program behavior challenging; even classes in the middle of a class hierarchy can be modified. This paper develops a proof system for analyzing the effect of operations to adapt classes, in the context of method overriding and late bound method calls. The proof system is incremental in the sense that reverification is avoided for methods that are not explicitly changed by adaptations. Furthermore, the possible adaptations are not unduly restricted; i.e., flexibility is retained without compromising on reasoning control. To achieve this balance, we extend the mechanism of lazy behavioral subtyping, originally proposed for reasoning about inheritance when subclasses are added to a class hierarchy, to deal with the more general situation of adaptable class hierarchies and changing specifications. The reasoning system distinguishes guaranteed method behavior from requirements toward methods, and achieves incremental reasoning by tracking guarantees and requirements in adaptable class hierarchies. We show soundness of the proposed proof system.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Logical and Algebraic Methods in Programming - Volume 84, Issue 1, January 2015, Pages 37–53
نویسندگان
, , , ,