Testing Library Specifications by Verifying Conformance Tests

Joseph Roland Kiniry, Daniel Zimmerman, Ralph Hyland

    Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

    Abstract

    Formal specifications of standard libraries are necessary when statically verifying software that uses those libraries. Library specifications must be both correct, accurately reflecting library behavior, and useful, describing library behavior in sufficient detail to allow static verification of client programs. Specication and verification researchers regularly face the question of whether the library specications we use are correct and useful, and we have collectively provided no good answers. Over the past few years we have created and refined a software engineering process, which we call the Formal CTD Process (FCTD), to address this problem. Although FCTD is primarily targeted toward those who write Java libraries (or specifications for existing Java libraries) using the Java Modeling Language (JML), its techniques are broadly applicable. The key to FCTD is its novel usage of library conformance test suites. Rather than executing the conformance tests, FCTD uses them to measure the correctness and utility of specifications through static verification. FCTD is beginning to see significant use within the JML community and is the cornerstone process of the JML Spec-a-thons, meetings that bring JML researchers and practitioners together for intensive specification writing sessions. This article describes the Formal CTD Process, its use in small case studies, and its broad application to the standard Java class library.
    Original languageEnglish
    Title of host publicationTAP'12 Proceedings of the 6th international conference on Tests and Proofs
    Volume7305
    PublisherSpringer
    Publication date2012
    ISBN (Print)978-3-642-30472-9
    Publication statusPublished - 2012
    Event6th International Conference on Tests & Proofs - Prague, Czech Republic
    Duration: 31 May 20121 Jun 2012
    Conference number: 6
    https://link.springer.com/book/10.1007/978-3-642-30473-6

    Conference

    Conference6th International Conference on Tests & Proofs
    Number6
    Country/TerritoryCzech Republic
    CityPrague
    Period31/05/201201/06/2012
    OtherOrganised by Yuri Gurevich & Bertrand Meyer
    Internet address
    SeriesLecture Notes in Computer Science
    ISSN0302-9743

    Keywords

    • Formal specification
    • Static verification
    • Java Modeling Language (JML)
    • Library conformance test suites
    • Software engineering process

    Fingerprint

    Dive into the research topics of 'Testing Library Specifications by Verifying Conformance Tests'. Together they form a unique fingerprint.

    Cite this