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