Eiffel: the language
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
iContract - The Java(tm) Design by Contract(tm) Tool
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
The .NET Contract Wizard: Adding Design by Contract to Languages Other than Eiffel
TOOLS '01 Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39)
Adding Contracts to Java with Handshake
Adding Contracts to Java with Handshake
Java(TM) Programming Language, The (4th Edition)
Java(TM) Programming Language, The (4th Edition)
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
A historical perspective on runtime assertion checking in software development
ACM SIGSOFT Software Engineering Notes
ezContract: Using Marker Library and Bytecode Instrumentation to Support Design by Contract in Java
APSEC '07 Proceedings of the 14th Asia-Pacific Software Engineering Conference
Can aspects implement contracts?
RISE'05 Proceedings of the Second international conference on Rapid Integration of Software Engineering Techniques
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Hi-index | 0.00 |
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.