A Verification-Centric Software Development Process for Java

Design by contract (DBC) is an oft-cited, but rarely followed, programming practice that focuses on writing formal specifications first, and writing code that fulfills those specifications second. The development of static analysis tools over the past several years has made it possible to fully embr...

Full description

Saved in:
Bibliographic Details
Published in:2009 Ninth International Conference on Quality Software pp. 76 - 85
Main Authors: Zimmerman, D.M., Kiniry, J.R.
Format: Conference Proceeding
Language:English
Published: IEEE 01.08.2009
Subjects:
ISBN:1424459125, 9781424459124
ISSN:1550-6002
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Design by contract (DBC) is an oft-cited, but rarely followed, programming practice that focuses on writing formal specifications first, and writing code that fulfills those specifications second. The development of static analysis tools over the past several years has made it possible to fully embrace DBC in Java systems by writing, type checking, and consistency checking rich behavioral specifications for Java before writing any code. This paper discusses a DBC-based, verification-centric software development process for Java that integrates the Business Object Notation (BON), the Java Modeling Language, and several associated tools including the BON compiler BONc, the ESC/Java2 static checker, a runtime assertion checker, and a specification-based unit test generator. This verification-centric process, reinforced by its rich open source tool support, is one of the most advanced, concrete, open, practical, and usable processes available today for rigorously designing and developing software systems.
ISBN:1424459125
9781424459124
ISSN:1550-6002
DOI:10.1109/QSIC.2009.18