• DocumentCode
    3116870
  • Title

    A Verification-Centric Software Development Process for Java

  • Author

    Zimmerman, Daniel M. ; Kiniry, Joseph R.

  • Author_Institution
    Inst. of Technol., Univ. of Washington Tacoma, Tacoma, WA, USA
  • fYear
    2009
  • fDate
    24-25 Aug. 2009
  • Firstpage
    76
  • Lastpage
    85
  • 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.
  • Keywords
    Java; formal specification; program diagnostics; program verification; software architecture; ESC-Java2 static checker; Java modeling language; business object notation; design by contract; formal specifications; open source tool support; runtime assertion checker; specification-based unit test generator; static analysis tools; verification-centric software development process; Concrete; Contracts; Formal specifications; Java; Programming; Runtime; Software design; Software systems; Software testing; Writing; Business Object Notation; Design by Contract; Java; Java Modeling Language; formal methods; software engineering process; software verification;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Quality Software, 2009. QSIC '09. 9th International Conference on
  • Conference_Location
    Jeju
  • ISSN
    1550-6002
  • Print_ISBN
    978-1-4244-5912-4
  • Type

    conf

  • DOI
    10.1109/QSIC.2009.18
  • Filename
    5381513