Verification of tree-like data structures with iterators in Dafny

Tree-like data structures are a common way to implement important data types that are pervasively used in many programming languages. Specifically selfbalancing binary search trees can guarantee logarithmic cost for the main operations, making them the implementation choice of many container librari...

Descripción completa

Detalles Bibliográficos
Autor: Blázquez Saborido, Jorge
Tipo de recurso: tesis de maestría
Fecha de publicación:2022
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/73992
Acceso en línea:https://hdl.handle.net/20.500.14352/73992
Access Level:acceso abierto
Palabra clave:004(043.3)
Program verification
Data structures
Self-balancing trees
Dafny
verificación formal
Estructuras de datos
Árboles autoequilibrados
Informática (Informática)
1203.17 Informática
id ES_5f1c6c57027e7ff6a7cf3c8a7c4d997d
oai_identifier_str oai:docta.ucm.es:20.500.14352/73992
network_acronym_str ES
network_name_str España
repository_id_str
spelling Verification of tree-like data structures with iterators in DafnyVerificación de estructuras de datos arborescentes con iteradores en DafnyBlázquez Saborido, Jorge004(043.3)Program verificationData structuresSelf-balancing treesDafnyverificación formalEstructuras de datosÁrboles autoequilibradosInformática (Informática)1203.17 InformáticaTree-like data structures are a common way to implement important data types that are pervasively used in many programming languages. Specifically selfbalancing binary search trees can guarantee logarithmic cost for the main operations, making them the implementation choice of many container libraries. In this work we give a specfication for sets, maps and multisets in the Dafny programming language. We also implement and verify in Dafny left-leaning red-black trees, a kind of self-balancing binary search tree, following the same methodology that we developed in our previous work. Lastly, we advance on the implementation and verification of iterators for binary search trees.Segura Díaz, Clara MaríaMontenegro Montes, ManuelUniversidad Complutense de Madrid20222022-09-0920222022-09-09master thesishttp://purl.org/coar/resource_type/c_bdccinfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/73992reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2Atribución-NoComercial-CompartirIgual 3.0 Españahttps://creativecommons.org/licenses/by-nc-sa/3.0/es/info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/739922026-06-02T12:44:21Z
dc.title.none.fl_str_mv Verification of tree-like data structures with iterators in Dafny
Verificación de estructuras de datos arborescentes con iteradores en Dafny
title Verification of tree-like data structures with iterators in Dafny
spellingShingle Verification of tree-like data structures with iterators in Dafny
Blázquez Saborido, Jorge
004(043.3)
Program verification
Data structures
Self-balancing trees
Dafny
verificación formal
Estructuras de datos
Árboles autoequilibrados
Informática (Informática)
1203.17 Informática
title_short Verification of tree-like data structures with iterators in Dafny
title_full Verification of tree-like data structures with iterators in Dafny
title_fullStr Verification of tree-like data structures with iterators in Dafny
title_full_unstemmed Verification of tree-like data structures with iterators in Dafny
title_sort Verification of tree-like data structures with iterators in Dafny
dc.creator.none.fl_str_mv Blázquez Saborido, Jorge
author Blázquez Saborido, Jorge
author_facet Blázquez Saborido, Jorge
author_role author
dc.contributor.none.fl_str_mv Segura Díaz, Clara María
Montenegro Montes, Manuel
Universidad Complutense de Madrid
dc.subject.none.fl_str_mv 004(043.3)
Program verification
Data structures
Self-balancing trees
Dafny
verificación formal
Estructuras de datos
Árboles autoequilibrados
Informática (Informática)
1203.17 Informática
topic 004(043.3)
Program verification
Data structures
Self-balancing trees
Dafny
verificación formal
Estructuras de datos
Árboles autoequilibrados
Informática (Informática)
1203.17 Informática
description Tree-like data structures are a common way to implement important data types that are pervasively used in many programming languages. Specifically selfbalancing binary search trees can guarantee logarithmic cost for the main operations, making them the implementation choice of many container libraries. In this work we give a specfication for sets, maps and multisets in the Dafny programming language. We also implement and verify in Dafny left-leaning red-black trees, a kind of self-balancing binary search tree, following the same methodology that we developed in our previous work. Lastly, we advance on the implementation and verification of iterators for binary search trees.
publishDate 2022
dc.date.none.fl_str_mv 2022
2022-09-09
2022
2022-09-09
dc.type.none.fl_str_mv master thesis
http://purl.org/coar/resource_type/c_bdcc
dc.type.openaire.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/73992
url https://hdl.handle.net/20.500.14352/73992
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial-CompartirIgual 3.0 España
https://creativecommons.org/licenses/by-nc-sa/3.0/es/
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial-CompartirIgual 3.0 España
https://creativecommons.org/licenses/by-nc-sa/3.0/es/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:Universidad Complutense de Madrid (UCM)
instname_str Universidad Complutense de Madrid (UCM)
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869409180819914752
score 15.301629