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!
Abstract 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.
AbstractList 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.
Author Zimmerman, D.M.
Kiniry, J.R.
Author_xml – sequence: 1
  givenname: D.M.
  surname: Zimmerman
  fullname: Zimmerman, D.M.
  organization: Inst. of Technol., Univ. of Washington Tacoma, Tacoma, WA, USA
– sequence: 2
  givenname: J.R.
  surname: Kiniry
  fullname: Kiniry, J.R.
  organization: Sch. of Comput. Sci. & Inf., Univ. Coll. Dublin, Dublin, Ireland
BookMark eNotj81Kw0AURkesYFO7c-cmL5A4f3cyA25KrFopqFTdljvpDYy0mTIJFd_egH6bA2dx4MvYpIsdMXYteCkEd7dvm1VdSs5dKewZy3hlHCgrrTxnmdBSa3BCwoRNBQAvDOfyks37_ouP06BAmym7W-SflEIbGhxC7IqauiGFJt_EdvjGRPk9nWgfj4fR568pNtT3eRtT_ownvGIXLe57mv9zxj4elu_1U7F-eVzVi3URRAVDAb4REi3sqso7VEjG7Rrn0RgpSZLS3lttHJpKVBY8aet84xwCSsVlq9WM3fx1AxFtjykcMP1sx68ChFK_Z0JKhg
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/QSIC.2009.18
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
Accès UT - IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 0769538282
1424459133
9781424459131
9780769538280
EndPage 85
ExternalDocumentID 5381513
Genre orig-research
GroupedDBID 23M
29O
6IE
6IF
6IH
6IK
6IL
6IM
6IN
AAJGR
AAWTH
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
RNS
ID FETCH-LOGICAL-i175t-5bc12a85d77b9a3ae69dc9ba6622e2e34bb8469a671785be489bc99a5a2302f43
IEDL.DBID RIE
ISBN 1424459125
9781424459124
ISICitedReferencesCount 5
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000306716300009&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1550-6002
IngestDate Wed Aug 27 02:55:33 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i175t-5bc12a85d77b9a3ae69dc9ba6622e2e34bb8469a671785be489bc99a5a2302f43
PageCount 10
ParticipantIDs ieee_primary_5381513
PublicationCentury 2000
PublicationDate 2009-Aug.
PublicationDateYYYYMMDD 2009-08-01
PublicationDate_xml – month: 08
  year: 2009
  text: 2009-Aug.
PublicationDecade 2000
PublicationTitle 2009 Ninth International Conference on Quality Software
PublicationTitleAbbrev QSIC
PublicationYear 2009
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0000453546
ssib026768166
ssj0045089
Score 1.4539557
Snippet Design by contract (DBC) is an oft-cited, but rarely followed, programming practice that focuses on writing formal specifications first, and writing code that...
SourceID ieee
SourceType Publisher
StartPage 76
SubjectTerms Business Object Notation
Concrete
Contracts
Design by Contract
formal methods
Formal specifications
Java
Java Modeling Language
Programming
Runtime
Software design
software engineering process
Software systems
Software testing
software verification
Writing
Title A Verification-Centric Software Development Process for Java
URI https://ieeexplore.ieee.org/document/5381513
WOSCitedRecordID wos000306716300009&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEJ4A8eDJBxjf6cGjK-yj7TbxYohEjSEYlHAj0zKbcAGDgH_f2e4ucvDirdvTpo-Z75t-MwNwI9mrGKdNoCUxQUHbCVJHUUDaWCdjmynfi2D0qvv9dDw2gxrcbnNhiMiLz-guH_q3_OnCrfNQWZsvJzuouA51rVWRq1WdnUgxbg5LaOKtcCJjL8AqrHLCQMT42qmS6RKbgSrJSxp28VXtp_I72SrkTftt-NwtylrmfUF2OrB4B9Q7-N-vH0LrN5NPDLY-6ghqND-Gg6qVgyhvdhPuH8SIz2JWRvACH_SdOTFkK_2NSxI74iJRJhcIxrviBTfYgo_e43v3KSgbKwQzRgurQFoXRpjKqdbWYIykzNQZi0pFEUUUJ9YyLDGomOul0lKS8sYZgxKZsERZEp9AY76Y0ykIZZxKOha1j4swl2N6ySYTQx06zBDPoJkvxuSzqJ0xKdfh_O_pC9gvXmtygd0lNFbLNV3BntusZl_La7_hPxuwolA
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEJ4gmugJFYxve_DoCtvtY5t4MUQCigQDEm6kLd2ECxgE_PvOdnfRgxdv3Z42fcx83_SbGYBbjl5FWakCyR0SFG0aQWwdDZxUxvLIJML3Ihh1Za8Xj8eqX4K7bS6Mc86Lz9x9OvRv-dOFXaehsjpeTnRQ0Q7scsZoI8vWKk4PFYicwxyceDvMeOQlWJldZghFlK-eypEwoSEo0ry4QidfVH_Kv9lWI6_qb4NOMytsmXYG-dWDxbugVuV_P38ItZ9cPtLfeqkjKLn5MVSKZg4kv9tVeHgkIzyNSR7DC3zYd2bJAO30l1468kteRPL0AoKIlzzrja7Be-tp2GwHeWuFYIZ4YRVwY0OqYz6V0igdaSfU1CqjhaDUURcxYxCYKC2Q7cXcOBbj1imluUbKQhMWnUB5vpi7UyBCWcEaRksfGUE2hwQTjaYOZWh1ovUZVNPFmHxk1TMm-Tqc_z19A_vt4Wt30u30Xi7gIHu7SeV2l1BeLdfuCvbsZjX7XF77zf8GxgOllw
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2009+Ninth+International+Conference+on+Quality+Software&rft.atitle=A+Verification-Centric+Software+Development+Process+for+Java&rft.au=Zimmerman%2C+D.M.&rft.au=Kiniry%2C+J.R.&rft.date=2009-08-01&rft.pub=IEEE&rft.isbn=9781424459124&rft.issn=1550-6002&rft.spage=76&rft.epage=85&rft_id=info:doi/10.1109%2FQSIC.2009.18&rft.externalDocID=5381513
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1550-6002&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1550-6002&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1550-6002&client=summon