Verificação Formal de Programas com SPARK2014

Detalhes bibliográficos
Autor(a) principal: Assunção, Paulo Manuel Fernandes de
Data de Publicação: 2017
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/10400.22/12144
Resumo: A verificação formal de software é uma área da Ciência de Computadores com grande importância no desenvolvimento de projetos de alta integridade. Ao adotar a verificação formal como uma das componentes dos projetos de software, aumenta-se a compreensão da natureza e propósito do programa por parte do programador e faz com que este se foque na precisão e consistência. Por outro lado, obriga também o programador a optar por soluções mais simples e que respeitem os requisitos de implementação, pois quanto mais complexo for o código desenvolvido maior será o esforço de prova e a dificuldade da mesma ser obtida de forma automática. Uma consequência é a minimização do risco de introdução de erros e maior facilidade na manutenção do programa. A linguagem SPARK e o seu conjunto de ferramentas favorecem o desenvolvimento de programas da forma que é descrita no parágrafo anterior. Face às características da linguagem que impõe restrições, muitos erros de programação que são comuns noutras linguagens não acontecem. O objetivo desta dissertação é o de estudar a usabilidade do SPARK2014 na implementação de estruturas de dados e algoritmos simples que são tipicamente utilizados no desenvolvimento de sistemas críticos ou de elevada integridade. Serão desenvolvidas especificações formais para os algoritmos em estudo, bem como implementações destes que são consistentes com essas mesmas especificações. Por fim será feita uma análise a todo o processo, no sentido de obter indicadores do real valor do SPARK2014 no desenvolvimento de aplicações mais complexas.
id RCAP_6ccae76be0d68205968a1982c9391da8
oai_identifier_str oai:recipp.ipp.pt:10400.22/12144
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 Verificação Formal de Programas com SPARK2014Verificação formalVCsSPARKAlta integridadeWhy3Formal VerificationHigh Integrity SystemsSistemas ComputacionaisA verificação formal de software é uma área da Ciência de Computadores com grande importância no desenvolvimento de projetos de alta integridade. Ao adotar a verificação formal como uma das componentes dos projetos de software, aumenta-se a compreensão da natureza e propósito do programa por parte do programador e faz com que este se foque na precisão e consistência. Por outro lado, obriga também o programador a optar por soluções mais simples e que respeitem os requisitos de implementação, pois quanto mais complexo for o código desenvolvido maior será o esforço de prova e a dificuldade da mesma ser obtida de forma automática. Uma consequência é a minimização do risco de introdução de erros e maior facilidade na manutenção do programa. A linguagem SPARK e o seu conjunto de ferramentas favorecem o desenvolvimento de programas da forma que é descrita no parágrafo anterior. Face às características da linguagem que impõe restrições, muitos erros de programação que são comuns noutras linguagens não acontecem. O objetivo desta dissertação é o de estudar a usabilidade do SPARK2014 na implementação de estruturas de dados e algoritmos simples que são tipicamente utilizados no desenvolvimento de sistemas críticos ou de elevada integridade. Serão desenvolvidas especificações formais para os algoritmos em estudo, bem como implementações destes que são consistentes com essas mesmas especificações. Por fim será feita uma análise a todo o processo, no sentido de obter indicadores do real valor do SPARK2014 no desenvolvimento de aplicações mais complexas.Formal verification of software is an area of Computer Science with increasing importance and especially relevant for high-integrity projects. By adopting formal verification, programmers are brought to know better the nature of the algorithms they are implementing which need to be accurate and consistent. These properties are usually not simple to verify and as result of such complexity programmers tend to choose simpler solutions to minimize verification costs. Simple solutions have clear advantages in terms of error detection and maintenance. The Spark language and its toolset have become a popular solution among high-integrity software production industry since it helps to produce correct software. The new Spark 2014 is a completely new version of the tool with a completely new approach to the verification process. The aim of this work is to study the usability of the new SPARK 2014 in implementing data structures and algorithms commonly used in the development of high integrity systems and understand the real advantages of the trade-off imposed by a new, more complex approach. This goal is achieved by developing specification and implementing a set of selected algorithms using Spark 2014.Coelho, Jorge Manuel NevesRepositório Científico do Instituto Politécnico do PortoAssunção, Paulo Manuel Fernandes de2018-11-12T14:03:23Z20172017-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/12144TID:201768062porinfo: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-03-13T12:54:12Zoai:recipp.ipp.pt:10400.22/12144Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:32:31.127830Repositó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 Verificação Formal de Programas com SPARK2014
title Verificação Formal de Programas com SPARK2014
spellingShingle Verificação Formal de Programas com SPARK2014
Assunção, Paulo Manuel Fernandes de
Verificação formal
VCs
SPARK
Alta integridade
Why3
Formal Verification
High Integrity Systems
Sistemas Computacionais
title_short Verificação Formal de Programas com SPARK2014
title_full Verificação Formal de Programas com SPARK2014
title_fullStr Verificação Formal de Programas com SPARK2014
title_full_unstemmed Verificação Formal de Programas com SPARK2014
title_sort Verificação Formal de Programas com SPARK2014
author Assunção, Paulo Manuel Fernandes de
author_facet Assunção, Paulo Manuel Fernandes de
author_role author
dc.contributor.none.fl_str_mv Coelho, Jorge Manuel Neves
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Assunção, Paulo Manuel Fernandes de
dc.subject.por.fl_str_mv Verificação formal
VCs
SPARK
Alta integridade
Why3
Formal Verification
High Integrity Systems
Sistemas Computacionais
topic Verificação formal
VCs
SPARK
Alta integridade
Why3
Formal Verification
High Integrity Systems
Sistemas Computacionais
description A verificação formal de software é uma área da Ciência de Computadores com grande importância no desenvolvimento de projetos de alta integridade. Ao adotar a verificação formal como uma das componentes dos projetos de software, aumenta-se a compreensão da natureza e propósito do programa por parte do programador e faz com que este se foque na precisão e consistência. Por outro lado, obriga também o programador a optar por soluções mais simples e que respeitem os requisitos de implementação, pois quanto mais complexo for o código desenvolvido maior será o esforço de prova e a dificuldade da mesma ser obtida de forma automática. Uma consequência é a minimização do risco de introdução de erros e maior facilidade na manutenção do programa. A linguagem SPARK e o seu conjunto de ferramentas favorecem o desenvolvimento de programas da forma que é descrita no parágrafo anterior. Face às características da linguagem que impõe restrições, muitos erros de programação que são comuns noutras linguagens não acontecem. O objetivo desta dissertação é o de estudar a usabilidade do SPARK2014 na implementação de estruturas de dados e algoritmos simples que são tipicamente utilizados no desenvolvimento de sistemas críticos ou de elevada integridade. Serão desenvolvidas especificações formais para os algoritmos em estudo, bem como implementações destes que são consistentes com essas mesmas especificações. Por fim será feita uma análise a todo o processo, no sentido de obter indicadores do real valor do SPARK2014 no desenvolvimento de aplicações mais complexas.
publishDate 2017
dc.date.none.fl_str_mv 2017
2017-01-01T00:00:00Z
2018-11-12T14:03:23Z
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/10400.22/12144
TID:201768062
url http://hdl.handle.net/10400.22/12144
identifier_str_mv TID:201768062
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_ 1799131418387808256