Para depositar en Docta Complutense, identifícate con tu correo @ucm.es en el SSO institucional. Haz clic en el desplegable de INICIO DE SESIÓN situado en la parte superior derecha de la pantalla. Introduce tu correo electrónico y tu contraseña de la UCM y haz clic en el botón MI CUENTA UCM, no autenticación con contraseña.
 

Verification of mutable linear data structures and iterator-based algorithms in Dafny.

Loading...
Thumbnail Image

Full text at PDC

Publication date

2023

Advisors (or tutors)

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Elsevier
Citations
Google Scholar

Citation

Abstract

We address the verification of mutable, heap-allocated abstract data types (ADTs) in Dafny, and their traversal via iterators. For this purpose, we devise a verification methodology that makes it possible to implement ADTs based on already existing ones, while maintaining proper encapsulation. Then, we apply this methodology to the specification and implementation of linear collections such as stacks, queues, deques, and lists with iterators. The approach introduced in this paper allows one to progressively refine some aspects of the specification such as iterator invalidation, so that clients of the library can reason about how structural changes to a list affect existing iterators. Finally, we extend our methodology to the verification of client code (i.e., code that makes use of the implemented ADTs) and identify the boilerplate conditions common to all methods that receive and manipulate ADTs.

Research Projects

Organizational Units

Journal Issue

Description

Keywords

Collections