A fully verified container library
Author(s)
Tschannen, Julian; Furia, Carlo A.; Polikarpova, Nadezhda
Download165_2017_Article_435.pdf (1.050Mb)
PUBLISHER_CC
Publisher with Creative Commons License
Creative Commons Attribution
Terms of use
Metadata
Show full item recordAbstract
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
Date issued
2017-09Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryJournal
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
ISSN
0934-5043
1433-299X