Verification of Greedy Algorithms in Dafny

The proof that a program works according to a previously established behavior is known as formal verification. The use of formal verification techniques is increasing in recent years and in areas of the software industry. In this paper, the behavior of some greedy algorithms will be formally verifie...

Descripción completa

Detalles Bibliográficos
Autor: Pastor Pérez, Paula Eugenia
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/73993
Acceso en línea:https://hdl.handle.net/20.500.14352/73993
Access Level:acceso abierto
Palabra clave:004(043.3)
Formal verification
Greedy algorithms
Mathematical proofs
Dafny
Specification
Programming methodology.
Verificación formal
Algoritmos voraces
Demostraciones matemáticas
Especificación
Metodología de programación.
Informática (Informática)
1203.17 Informática
id ES_d3535bbd4d838d57c583ca25ef0abb2f
oai_identifier_str oai:docta.ucm.es:20.500.14352/73993
network_acronym_str ES
network_name_str España
repository_id_str
spelling Verification of Greedy Algorithms in DafnyVerificación de algoritmos voraces en DafniPastor Pérez, Paula Eugenia004(043.3)Formal verificationGreedy algorithmsMathematical proofsDafnySpecificationProgramming methodology.Verificación formalAlgoritmos voracesDemostraciones matemáticasEspecificaciónMetodología de programación.Informática (Informática)1203.17 InformáticaThe proof that a program works according to a previously established behavior is known as formal verification. The use of formal verification techniques is increasing in recent years and in areas of the software industry. In this paper, the behavior of some greedy algorithms will be formally verified in Dafny. This will involve carrying out rigorous mathematical proofs in Dafny. In this paper, Dafny will be introduced first. It is a programming language that allows the user to check the correctness of his/her code. This will require a detailed specification of the expected behavior of the code. Secondly, greedy algorithms will be explained in detail, different problems where the greedy method is applied will be presented, and the strategy they follow to obtain an optimal solution will be studied. The specification of the code of each problem will be developed in Dafny and then the implementation of the greedy algorithm that solves it will be carried out in order to finally verify it. In addition, a generic methodology will be designed with the idea of being able to establish some steps to follow in the verification of these greedy algorithms for specific problems.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/73993reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2Atribución-NoComercial 3.0 Españahttps://creativecommons.org/licenses/by-nc/3.0/es/info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/739932026-06-02T12:44:21Z
dc.title.none.fl_str_mv Verification of Greedy Algorithms in Dafny
Verificación de algoritmos voraces en Dafni
title Verification of Greedy Algorithms in Dafny
spellingShingle Verification of Greedy Algorithms in Dafny
Pastor Pérez, Paula Eugenia
004(043.3)
Formal verification
Greedy algorithms
Mathematical proofs
Dafny
Specification
Programming methodology.
Verificación formal
Algoritmos voraces
Demostraciones matemáticas
Especificación
Metodología de programación.
Informática (Informática)
1203.17 Informática
title_short Verification of Greedy Algorithms in Dafny
title_full Verification of Greedy Algorithms in Dafny
title_fullStr Verification of Greedy Algorithms in Dafny
title_full_unstemmed Verification of Greedy Algorithms in Dafny
title_sort Verification of Greedy Algorithms in Dafny
dc.creator.none.fl_str_mv Pastor Pérez, Paula Eugenia
author Pastor Pérez, Paula Eugenia
author_facet Pastor Pérez, Paula Eugenia
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)
Formal verification
Greedy algorithms
Mathematical proofs
Dafny
Specification
Programming methodology.
Verificación formal
Algoritmos voraces
Demostraciones matemáticas
Especificación
Metodología de programación.
Informática (Informática)
1203.17 Informática
topic 004(043.3)
Formal verification
Greedy algorithms
Mathematical proofs
Dafny
Specification
Programming methodology.
Verificación formal
Algoritmos voraces
Demostraciones matemáticas
Especificación
Metodología de programación.
Informática (Informática)
1203.17 Informática
description The proof that a program works according to a previously established behavior is known as formal verification. The use of formal verification techniques is increasing in recent years and in areas of the software industry. In this paper, the behavior of some greedy algorithms will be formally verified in Dafny. This will involve carrying out rigorous mathematical proofs in Dafny. In this paper, Dafny will be introduced first. It is a programming language that allows the user to check the correctness of his/her code. This will require a detailed specification of the expected behavior of the code. Secondly, greedy algorithms will be explained in detail, different problems where the greedy method is applied will be presented, and the strategy they follow to obtain an optimal solution will be studied. The specification of the code of each problem will be developed in Dafny and then the implementation of the greedy algorithm that solves it will be carried out in order to finally verify it. In addition, a generic methodology will be designed with the idea of being able to establish some steps to follow in the verification of these greedy algorithms for specific problems.
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/73993
url https://hdl.handle.net/20.500.14352/73993
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 3.0 España
https://creativecommons.org/licenses/by-nc/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 3.0 España
https://creativecommons.org/licenses/by-nc/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_ 1869420450240528384
score 15,301603