A bounded model checker for SPARK programs

Detalhes bibliográficos
Autor(a) principal: Lourenço, Cláudio Filipe Belo da Silva
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/28567
Resumo: Dissertação de mestrado em Engenharia de Informática
id RCAP_1acf2e6f5a9d4d3dc15e4197232f2f92
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/28567
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 A bounded model checker for SPARK programs681.3.06Dissertação de mestrado em Engenharia de InformáticaFormal verification of software has been an active topic in the area of computer science. Several techniques to verify software are now available, and many tools have been created over the years for different languages and using different techniques. However, for SPARK, a programming language broadly used in critical systems, only deductive verification tools based on contracts are available. The main downside of this approach is the lack of a full automation. In this dissertation we propose an automated verification tool for SPARK code, thus contributing to fill the gap identified above. Our tool bases on an alternative technique, called bounded model checking, that sacrifices completeness in exchange for automation. Through grounding our work in the highly popular and successful CBMC tool for verification of C code, we investigate how to perform bounded model checking of SPARK programs, and, in particular, we present our implementation of a bounded model checker for SPARK programs called SPARK-BMC. Experiments performed with our tool show that automatic verification of SPARK programs is feasible and useful, even though is not complete. As far as we know, there is no tool based on such an automated technique for SPARK. The tool is freely available and based on open-source technologies.A verificação formal de software tem sido um tópico bastante ativo na área das ciências da computação. Várias técnicas podem ser aplicadas para verificar software e ao longo dos anos surgiram várias ferramentas para diferentes linguagens usando diferentes técnicas. Para a linguagem de programação SPARK, que é especialmente usada em sistemas críticos, existem ferramentas dedutivas baseadas em contratos. Porém, esta técnica de verificação tem uma desvantagem: fraca automação. Nesta dissertação, propomos uma ferramenta de verificação automática para código SPARK, assim contribuindo para suprir a limitação antes referida. Esta ferramenta baseia-se numa técnica alternativa denominada por ‘bounded model checking’ que embora não sendo completa permite automação. Baseando o nosso trabalho na popular e bem sucedida ferramenta CBMC para a verificação de código C, estudamos como levar a cabo o ‘bounded model checking’ de programas SPARK e, em particular apresentamos a respectiva implementação que designamos por SPARK-BMC. As experiências que levamos a cabo com a nossa ferramenta mostram que a verificação automática de programas SPARK, ainda que não seja completa, é praticável e útil. Pelo que nos é dado a conhecer, não há nenhuma ferramenta baseada numa tal técnica automatizada para programas SPARK. A ferramenta é de acesso livre e baseia-se em tecnologias ‘open-source’.Pinto, Jorge SousaFrade, M. J.Universidade do MinhoLourenço, Cláudio Filipe Belo da Silva2013-11-282013-11-28T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/28567eng201195054info: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:03:49Zoai:repositorium.sdum.uminho.pt:1822/28567Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T18:53:59.404042Repositó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 A bounded model checker for SPARK programs
title A bounded model checker for SPARK programs
spellingShingle A bounded model checker for SPARK programs
Lourenço, Cláudio Filipe Belo da Silva
681.3.06
title_short A bounded model checker for SPARK programs
title_full A bounded model checker for SPARK programs
title_fullStr A bounded model checker for SPARK programs
title_full_unstemmed A bounded model checker for SPARK programs
title_sort A bounded model checker for SPARK programs
author Lourenço, Cláudio Filipe Belo da Silva
author_facet Lourenço, Cláudio Filipe Belo da Silva
author_role author
dc.contributor.none.fl_str_mv Pinto, Jorge Sousa
Frade, M. J.
Universidade do Minho
dc.contributor.author.fl_str_mv Lourenço, Cláudio Filipe Belo da Silva
dc.subject.por.fl_str_mv 681.3.06
topic 681.3.06
description Dissertação de mestrado em Engenharia de Informática
publishDate 2013
dc.date.none.fl_str_mv 2013-11-28
2013-11-28T00: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/28567
url http://hdl.handle.net/1822/28567
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 201195054
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_ 1799132321250541568