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

  • Authors:
  • Chien-Tsun Chen;Yu Chin Cheng;Chin-Yun Hsieh

  • Affiliations:
  • -;-;-

  • Venue:
  • IEICE - Transactions on Information and Systems
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.