Contract Specification in Java: Classification, Characterization, and a New Marker Method

Chien-Tsun CHEN  Yu Chin CHENG  Chin-Yun HSIEH  

Publication
IEICE TRANSACTIONS on Information and Systems   Vol.E91-D   No.11   pp.2685-2692
Publication Date: 2008/11/01
Online ISSN: 1745-1361
DOI: 10.1093/ietisy/e91-d.11.2685
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Fundamentals of Software and Theory of Programs
Keyword: 
Design by Contract,  contract specification,  classification,  characterization,  quality attribute,  Java,  

Full Text: PDF(253.1KB)>>
Buy this Article




Summary: 
Design by Contract (DBC), originated in the Eiffel programming language, is generally accepted as a practical method for building reliable software. Currently, however, few languages have built-in support for it. In recent years, several methods have been proposed to support DBC in Java. We compare eleven DBC tools for Java by analyzing their impact on the developer's programming activities, which are characterized by seven quality attributes identified in this paper. It is shown that each of the existing tools fails to achieve some of the quality attributes. This motivates us to develop ezContract, an open source DBC tool for Java that achieves all of the seven quality attributes. ezContract achieves streamlined integration with the working environment. Notably, standard Java language is used and advanced IDE features that work for standard Java programs can also work for the contract-enabled programs. Such features include incremental compilation, automatic refactoring, and code assist.