Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA Disculpen las molestias.
 

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