Ensuring Invariant Contracts for Modules in Java

نویسندگان

  • Andreas Roth
  • Peter H. Schmitt
چکیده

Deductive verification of object-oriented programs suffers from the lack of modularity. One of the obstacles to modular verification are invariant contracts, which classes extending a verified system could break. We introduce a concept of modules for Java and their correctness w.r.t. invariant contracts and give a theoretical criterion on attributes called module-protection. To ensure modular fulfilment of invariant contracts, attribute chains that invariants depend on must be module-protected. Finally, we show that each of four known restrictions to enforce modularity imply module-protectedness of attributes.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Oplus-supplemented modules with respect to images of a fully invariant submodule

Lifting modules and their various generalizations as some main concepts in module theory have been studied and investigated extensively in recent decades. Some authors tried to present some homological aspects of lifting modules and -supplemented modules. In this work, we shall present a homological approach to -supplemented modules via fully invariant submodules. Lifting modules and H-suppleme...

متن کامل

Access Control Contracts for Java Program Modules

Application-level security has become an issue in recent years; for example, errors, discrepancies and omissions in the specification of access control constraints of security-sensitive software components are recognized as an important source for security vulnerabilities. We propose to formally specify access control assumptions or constraints of a program module and enforce them at run-time. ...

متن کامل

Contract-Aware Feature Composition

Feature-oriented programming is a paradigm to develop software product lines, in which products can be generated by composing feature modules. Design by contract is a development methodology, in which methods are specified by annotating them with contracts. Researchers propose to use such contracts to specify feature modules in order to perform different product-line analysis-techniques such as...

متن کامل

Adding Contracts to Java with Handshake

Contracts describe an agreement between the writer and the user of a class. Their use enhances programmer productivity and program reliability, especially in library code. Handshake provides contracts for Java classes and interfaces in the form of class invariants and method preand postconditions. Using Handshake, a programmer can add contracts to classes and interfaces without needing access t...

متن کامل

iContract - The Java(tm) Design by Contract(tm) Tool

Until today, the explicit speci cation of "software contracts" by means of class invariants and method preand post-conditions was only available to Ei el developers. iContract is the rst tool that provides the same thorough support for Java. iContract is a freely available source-code pre-processor that instruments sourcecode with checks for class invariants as well as preand post-conditions th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004