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...
Saved in:
| Published in: | 2009 Ninth International Conference on Quality Software pp. 76 - 85 |
|---|---|
| Main Authors: | , |
| 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 |

