Back to Search Start Over

Specifying linked data structures in JML for combining formal verification and testing.

Authors :
Gladisch, Christoph
Tyszberowicz, Shmuel
Source :
Science of Computer Programming. Sep2015, Vol. 107, p19-40. 22p.
Publication Year :
2015

Abstract

We show how to write concise and readable specifications of linked data structures that are applicable for both formal deductive verification and testing. A singly linked list and a binary search tree are provided as examples. The main characteristic of the specifications is the use of observer methods, in particular to express reachability of elements in a data structure. The specifications are written in the Java Modeling Language (JML) and do not require extensions of that language. This paper addresses a mixed audience of users and developers in the fields of formal verification, testing, and specification language design. We provide an in-depth description of the proposed specifications and analyze the implications both for verification and testing. Based on this analysis we have developed verification techniques that are implemented in the deductive verification tool KeY and enable fully automatic verification of the linked list example. This techniques are also described in this paper. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
01676423
Volume :
107
Database :
Academic Search Index
Journal :
Science of Computer Programming
Publication Type :
Academic Journal
Accession number :
103157613
Full Text :
https://doi.org/10.1016/j.scico.2015.02.005