Lógica da separação e verificação formal de programas

Detalhes bibliográficos
Autor(a) principal: Santos, Isabel Maria Ventura
Data de Publicação: 2012
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/22804
Resumo: Dissertação de mestrado em Matemática e Computação
id RCAP_45e434604815b6e9f0e319c336665760
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/22804
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Lógica da separação e verificação formal de programas519.6510Dissertação de mestrado em Matemática e ComputaçãoA lógica da separação é uma lógica de programas talhada para a verificação dedutiva de programas imperativos que lidam com memória dinâmica. Uma das técnicas mais populares na verificação dedutiva de programas é usar a semântica axiomática para gerar condições de verificação, que são depois enviadas para ferramentas de prova. A componente responsável por gerar estas condições, para um dado triplo de Hoare, denomina-se gerador de condições de verificação (ou VCGen). Esta dissertação apresenta um estudo sobre verificação dedutiva de programas imperativos com memória dinâmica, baseado na lógica da separação, onde é desenvolvido um VCGen para esta lógica de programas e é provada a correcção do VCGen. No estudo, introduz-se uma linguagem imperativa simples com memória dinâmica, a linguagemWhilepr, apresentando a sua sintaxe e a sua semântica operacional. Apresenta-se uma variante adequada da lógica da separação para esta linguagem (sintaxe, semântica e um sistema dedutivo base–o sistema S), sendo provada a correcção do sistema deductivo face à semântica dos triplos de Hoare. Para encontrar um algoritmo de VCGen devidamente fundamentado, foram desenvolvidos sistemas dedutivos intermédios, mais adequados à mecanização do processo de prova, nomeadamente, o sistema Sg e o sistema Sgb (que é já um sistema goal directed), e foi provada a equivalência destes sistemas formais. O VCGen obtido resulta da escolha de uma estratégia de prova no sistema Sgb baseada no cálculo da weakest precondition. É demonstrada a correcção deste VCGen face ao sistema dedutivo Sgb, e, consequentemente, face ao sistema original S e face à semântica. Foi construído um protótipo na linguagem Haskell que implementa o algoritmo de VCGen desenvolvido.Separation logic is an appropriate program logic for deductive verification of imperative programs which manipulate heap. One of the most popular approaches for deductive verification of programs is the use of axiomatic semantics for generation of the verification conditions, which are then passed to a proof tool for validation. The component of the verification arquitechture that generates the verification conditions relative to an Hoare triple is called a VCGen (verification conditions generator). This dissertation presents a study on deductive verification of imperative programs with heap manipulation, based on separation logic, in which a VCGen for the underlying program logic was defined and the correctness of the VCGen was proved. An imperative language with heap manipulation calledWhilepr was introduced, and its syntax and operational semantics were defined. A variant of separation logic adequate to this language was defined (syntax, semantics and a deductive system –called system S), and soundness of the deductive system w.r.t. the semantics was proved. In order to develop a correct VCGen, two intermediate deductive systems, more adequate for mechanization, were designed: system Sg and system Sgb (where the latter is already goal directed). Equivalence of all systems was established. The VCGen obtained, derived from system Sgb, implements a proof strategy based on the calculation of weakest preconditions. Correctness of the VCGen w.r.t. Sgb (hence also w.r.t. the base system S, and to the semantics) was proved. A prototype for the VCGen developed in the study was implemented in Haskell.Fundação para a Ciência e a Tecnologia (FCT) - Projeto PTDC/EIA-CCO/105034/2008Pinto, Luís F.Frade, M. J.Universidade do MinhoSantos, Isabel Maria Ventura20122012-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/22804porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:48:59Zoai:repositorium.sdum.uminho.pt:1822/22804Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:47:23.219366Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Lógica da separação e verificação formal de programas
title Lógica da separação e verificação formal de programas
spellingShingle Lógica da separação e verificação formal de programas
Santos, Isabel Maria Ventura
519.6
510
title_short Lógica da separação e verificação formal de programas
title_full Lógica da separação e verificação formal de programas
title_fullStr Lógica da separação e verificação formal de programas
title_full_unstemmed Lógica da separação e verificação formal de programas
title_sort Lógica da separação e verificação formal de programas
author Santos, Isabel Maria Ventura
author_facet Santos, Isabel Maria Ventura
author_role author
dc.contributor.none.fl_str_mv Pinto, Luís F.
Frade, M. J.
Universidade do Minho
dc.contributor.author.fl_str_mv Santos, Isabel Maria Ventura
dc.subject.por.fl_str_mv 519.6
510
topic 519.6
510
description Dissertação de mestrado em Matemática e Computação
publishDate 2012
dc.date.none.fl_str_mv 2012
2012-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/22804
url http://hdl.handle.net/1822/22804
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799133046974185472