A fully verified container library
Name
165_2017_Article_435.pdf
Size
1.05 MB
Format
Adobe PDF
Checksum (MD5)
cfdc168f72f99832771a1c0a8ba60c50
Author(s) • •
Tschannen, Julian
Furia, Carlo A.
Polikarpova, Nadezhda
Date Issued
September 2017
Journal
Formal Aspects of Computing
Publisher
Springer-Verlag
Citation
Polikarpova, Nadia et al. “A Fully Verified Container Library.” Formal Aspects of Computing 30, 5 (September 2017): 495–523
Version
Final published version
Abstract
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
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1007/s00165-017-0435-1