Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
Texto Completo: | https://app.uff.br/riuff/handle/1/22647 |
Resumo: | Em sistemas críticos falhas ou erros podem causar catástrofes, como mortes ou grandes perdas de dinheiro. A verificação de modelos provê uma forma automatizada para provar a corretude dos requisitos de um programa. E uma técnica conveniente para ser ´ utilizada em sistemas que necessitam de confiabilidade. Lógica Dinâmica Proposicional (PDL) é um sistema formal feito para se raciocinar sobre programas. Ela possui um modelo de Kripke simples e bom desempenho de verificação. Este trabalho apresenta uma implementação de compilação de programas em um subconjunto da linguagem C e tamb´em para Json sobre o modelo Smacco, ambos para a linguagem de PDL e desta para a linguagem de um verificador de modelos. Esta implementação está acoplada a um sistema de geração de modelos de Blockchain para modelar e verificar smart contracts |
id |
UFF-2_48496bb9312d5ad6b58a5aff3c798de8 |
---|---|
oai_identifier_str |
oai:app.uff.br:1/22647 |
network_acronym_str |
UFF-2 |
network_name_str |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
repository_id_str |
2120 |
spelling |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contractsVerificação de modelosPDLBlockchainCiência da computaçãoModel checkingPDLBlockchainEm sistemas críticos falhas ou erros podem causar catástrofes, como mortes ou grandes perdas de dinheiro. A verificação de modelos provê uma forma automatizada para provar a corretude dos requisitos de um programa. E uma técnica conveniente para ser ´ utilizada em sistemas que necessitam de confiabilidade. Lógica Dinâmica Proposicional (PDL) é um sistema formal feito para se raciocinar sobre programas. Ela possui um modelo de Kripke simples e bom desempenho de verificação. Este trabalho apresenta uma implementação de compilação de programas em um subconjunto da linguagem C e tamb´em para Json sobre o modelo Smacco, ambos para a linguagem de PDL e desta para a linguagem de um verificador de modelos. Esta implementação está acoplada a um sistema de geração de modelos de Blockchain para modelar e verificar smart contractsIn critical systems, failures or errors can cause catastrophes, such as deaths or considerably losses of money. Model checking provides an automated way to prove the correctness of programs’ requirements. It is a convenient technique to be used in systems that need reliability. Propositional Dynamic Logic (PDL) is a formal system designed to reason about programs. It has a simple Kripke model and good verification performance. This work presents a compiler implementation from a subset of the C language and also for Json on the Smacco model, both to the PDL language, and after that to the language of a model checker. This implementation is coupled with a Blockchain model generation system to model and reason about smart contractsLopes, BrunoSantos, Jefferson de BarrosCoelho, Igor MachadoSantana, Allan Patrick de Freitas2021-07-16T11:35:03Z2021-07-16T11:35:03Z2020info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfhttps://app.uff.br/riuff/handle/1/22647Attribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/CC-BY-SAinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)instname:Universidade Federal Fluminense (UFF)instacron:UFF2021-09-16T17:49:22Zoai:app.uff.br:1/22647Repositório InstitucionalPUBhttps://app.uff.br/oai/requestriuff@id.uff.bropendoar:21202021-09-16T17:49:22Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)false |
dc.title.none.fl_str_mv |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
title |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
spellingShingle |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts Santana, Allan Patrick de Freitas Verificação de modelos PDL Blockchain Ciência da computação Model checking PDL Blockchain |
title_short |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
title_full |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
title_fullStr |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
title_full_unstemmed |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
title_sort |
Verificação automática de programas utilizando Lógica Dinâmica com aplicações a smart contracts |
author |
Santana, Allan Patrick de Freitas |
author_facet |
Santana, Allan Patrick de Freitas |
author_role |
author |
dc.contributor.none.fl_str_mv |
Lopes, Bruno Santos, Jefferson de Barros Coelho, Igor Machado |
dc.contributor.author.fl_str_mv |
Santana, Allan Patrick de Freitas |
dc.subject.por.fl_str_mv |
Verificação de modelos PDL Blockchain Ciência da computação Model checking PDL Blockchain |
topic |
Verificação de modelos PDL Blockchain Ciência da computação Model checking PDL Blockchain |
description |
Em sistemas críticos falhas ou erros podem causar catástrofes, como mortes ou grandes perdas de dinheiro. A verificação de modelos provê uma forma automatizada para provar a corretude dos requisitos de um programa. E uma técnica conveniente para ser ´ utilizada em sistemas que necessitam de confiabilidade. Lógica Dinâmica Proposicional (PDL) é um sistema formal feito para se raciocinar sobre programas. Ela possui um modelo de Kripke simples e bom desempenho de verificação. Este trabalho apresenta uma implementação de compilação de programas em um subconjunto da linguagem C e tamb´em para Json sobre o modelo Smacco, ambos para a linguagem de PDL e desta para a linguagem de um verificador de modelos. Esta implementação está acoplada a um sistema de geração de modelos de Blockchain para modelar e verificar smart contracts |
publishDate |
2020 |
dc.date.none.fl_str_mv |
2020 2021-07-16T11:35:03Z 2021-07-16T11:35:03Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://app.uff.br/riuff/handle/1/22647 |
url |
https://app.uff.br/riuff/handle/1/22647 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ CC-BY-SA info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ CC-BY-SA |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF) instname:Universidade Federal Fluminense (UFF) instacron:UFF |
instname_str |
Universidade Federal Fluminense (UFF) |
instacron_str |
UFF |
institution |
UFF |
reponame_str |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
collection |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF) |
repository.mail.fl_str_mv |
riuff@id.uff.br |
_version_ |
1802135358487396352 |