A fully verified container library

The comprehensive functionality and nontrivial design of realistic general-purpose container libraries pose challenges to formal verification that go beyond those of individual benchmark problems mainly targeted by the state of the art. We present our experience verifying the full functional correct...

Full description

Bibliographic Details
Main Authors: Tschannen, Julian, Furia, Carlo A., Polikarpova, Nadezhda
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Springer-Verlag 2018
Online Access:http://hdl.handle.net/1721.1/117422
https://orcid.org/0000-0001-5571-173X
_version_ 1826188884471447552
author Tschannen, Julian
Furia, Carlo A.
Polikarpova, Nadezhda
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Tschannen, Julian
Furia, Carlo A.
Polikarpova, Nadezhda
author_sort Tschannen, Julian
collection MIT
description The comprehensive functionality and nontrivial design of realistic general-purpose container libraries pose challenges to formal verification that go beyond those of individual benchmark problems mainly targeted by the state of the art. We present our experience verifying the full functional correctness of EiffelBase2: a container library offering all the features customary in modern language frameworks, such as external iterators, and hash tables with generic mutable keys and load balancing. Verification uses the automated deductive verifier AutoProof, which we extended as part of the present work. Our results indicate that verification of a realistic container library (135 public methods, 8400 LOC) is possible with moderate annotation overhead (1.4 lines of specification per LOC) and good performance (0.2 s per method on average). Keywords: Deductive verification; SMT; Object-oriented software; Containers; AutoProof
first_indexed 2024-09-23T08:06:12Z
format Article
id mit-1721.1/117422
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T08:06:12Z
publishDate 2018
publisher Springer-Verlag
record_format dspace
spelling mit-1721.1/1174222022-09-30T07:33:17Z A fully verified container library Tschannen, Julian Furia, Carlo A. Polikarpova, Nadezhda Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Polikarpova, Nadezhda The comprehensive functionality and nontrivial design of realistic general-purpose container libraries pose challenges to formal verification that go beyond those of individual benchmark problems mainly targeted by the state of the art. We present our experience verifying the full functional correctness of EiffelBase2: a container library offering all the features customary in modern language frameworks, such as external iterators, and hash tables with generic mutable keys and load balancing. Verification uses the automated deductive verifier AutoProof, which we extended as part of the present work. Our results indicate that verification of a realistic container library (135 public methods, 8400 LOC) is possible with moderate annotation overhead (1.4 lines of specification per LOC) and good performance (0.2 s per method on average). Keywords: Deductive verification; SMT; Object-oriented software; Containers; AutoProof 2018-08-20T17:56:27Z 2018-08-20T17:56:27Z 2017-09 2017-06 2018-08-18T03:40:11Z Article http://purl.org/eprint/type/JournalArticle 0934-5043 1433-299X http://hdl.handle.net/1721.1/117422 Polikarpova, Nadia et al. “A Fully Verified Container Library.” Formal Aspects of Computing 30, 5 (September 2017): 495–523 https://orcid.org/0000-0001-5571-173X en https://doi.org/10.1007/s00165-017-0435-1 Formal Aspects of Computing Creative Commons Attribution http://creativecommons.org/licenses/by/4.0/ The Author(s) application/pdf Springer-Verlag Springer London
spellingShingle Tschannen, Julian
Furia, Carlo A.
Polikarpova, Nadezhda
A fully verified container library
title A fully verified container library
title_full A fully verified container library
title_fullStr A fully verified container library
title_full_unstemmed A fully verified container library
title_short A fully verified container library
title_sort fully verified container library
url http://hdl.handle.net/1721.1/117422
https://orcid.org/0000-0001-5571-173X
work_keys_str_mv AT tschannenjulian afullyverifiedcontainerlibrary
AT furiacarloa afullyverifiedcontainerlibrary
AT polikarpovanadezhda afullyverifiedcontainerlibrary
AT tschannenjulian fullyverifiedcontainerlibrary
AT furiacarloa fullyverifiedcontainerlibrary
AT polikarpovanadezhda fullyverifiedcontainerlibrary