We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.SE

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Software Engineering

Title: Verified Mutable Data Structures

Abstract: Malfunctions in software like airplane control systems or nuclear plant control systems can have catastrophic consequences. Formal verification is the only form of sofware testing that can guarantee the absence of bugs. Formally verified software gives a mathematical proof that the specification is correctly implemented and that no bugs would induce unwanted behaviour. This has a high development cost and having an entirely verified program takes time and effort. However, having verified components already has great benefits. We implement in Scala and formally verify with Stainless a hash map that can then be reused and act as a basis on which to rely. The implementation we propose is based on the LongMap of the Scala standard library with some minor adaptations. This map is implemented with mutable arrays. We give the specification with respect to an implementation of a map based on a list of tuples, that we implement and formally verify as well.
Subjects: Software Engineering (cs.SE); Programming Languages (cs.PL)
Cite as: arXiv:2107.08824 [cs.SE]
  (or arXiv:2107.08824v2 [cs.SE] for this version)

Submission history

From: Samuel Chassot [view email]
[v1] Fri, 16 Jul 2021 11:56:07 GMT (153kb,D)
[v2] Thu, 22 Jul 2021 11:23:52 GMT (153kb,D)

Link back to: arXiv, form interface, contact.