dc.contributor.author | Tschannen, Julian | |
dc.contributor.author | Furia, Carlo A. | |
dc.contributor.author | Polikarpova, Nadezhda | |
dc.date.accessioned | 2018-08-20T17:56:27Z | |
dc.date.available | 2018-08-20T17:56:27Z | |
dc.date.issued | 2017-09 | |
dc.date.submitted | 2017-06 | |
dc.identifier.issn | 0934-5043 | |
dc.identifier.issn | 1433-299X | |
dc.identifier.uri | http://hdl.handle.net/1721.1/117422 | |
dc.description.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 | en_US |
dc.publisher | Springer-Verlag | en_US |
dc.relation.isversionof | https://doi.org/10.1007/s00165-017-0435-1 | en_US |
dc.rights | Creative Commons Attribution | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | en_US |
dc.source | Springer London | en_US |
dc.title | A fully verified container library | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Polikarpova, Nadia et al. “A Fully Verified Container Library.” Formal Aspects of Computing 30, 5 (September 2017): 495–523 | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.contributor.mitauthor | Polikarpova, Nadezhda | |
dc.relation.journal | Formal Aspects of Computing | en_US |
dc.eprint.version | Final published version | en_US |
dc.type.uri | http://purl.org/eprint/type/JournalArticle | en_US |
eprint.status | http://purl.org/eprint/status/PeerReviewed | en_US |
dc.date.updated | 2018-08-18T03:40:11Z | |
dc.language.rfc3066 | en | |
dc.rights.holder | The Author(s) | |
dspace.orderedauthors | Polikarpova, Nadia; Tschannen, Julian; Furia, Carlo A. | en_US |
dspace.embargo.terms | N | en_US |
dc.identifier.orcid | https://orcid.org/0000-0001-5571-173X | |
mit.license | PUBLISHER_CC | en_US |