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...

ver descrição completa

Detalhes bibliográficos
Autor: Blázquez Saborido, Jorge
Formato: tesis de maestría
Fecha de publicación:2022
País:España
Recursos:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/73992
Acesso em linha:https://hdl.handle.net/20.500.14352/73992
Access Level:acceso abierto
Palavra-chave: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
Descrição
Resumo: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.