Formal verification of Ada programs: an approach based on model checking

Detalhes bibliográficos
Autor(a) principal: Martins, João Pedro Marques da Silva
Data de Publicação: 2011
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/27971
Resumo: Dissertação de mestrado em Engenharia de Informática
id RCAP_b481680f4897e67e5044b0d1d5546485
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/27971
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 Formal verification of Ada programs: an approach based on model checkingAdaExtração de ModelosLógica TemporalMétodos FormaisSistemas CríticosSPINVerificação de ProgramasVerificação FormalVerificação de ModelosVerificação de Modelos de SoftwareCritical SystemsFormal MethodsFormal VerificationModel CheckingModel ExtractionSoftware VerificationSoftware Model CheckingSPINTemporal Logic681.3.06Dissertação de mestrado em Engenharia de InformáticaO rápido crescimento da complexidade dos sistemas de software exige, agora mais do que nunca, uma validação rigorosa dos mesmos por forma a manter ou até mesmo aumentar a confiança nestes sistemas. Em particular nos sistemas críticos, onde as falhas podem ter consequências catastróficas podendo até incluir a perca de várias vidas humanas, é de externa importância o desenvolvimento de técnicas capazes de garantir altos níveis de confiança para estes sistemas. Nesta tese é proposta a utilização de uma técnica formal para a verificação de programas Ada, que pretende aumentar a confiança em sistemas cuja implementação seja realizada nesta linguagem de programação. Mais precisamente, pretende-se a aplicação da técnica de verificação de modelos para a análise do código fonte de programas concorrentes Ada, com especial foco para o domínio dos sistemas críticos. A verificação de modelos é uma técnica bem-sucedida no que diz respeito à garantia de um aumento de fiabilidade destes sistemas. No entanto, a aplicação desta técnica a sistemas de software enfrenta ainda vários obstáculos, e as ferramentas e técnicas para ajudar a ultrapassar estes obstáculos estão ainda a ser desenvolvidas. A ferramenta desenvolvida no contexto desta tese (ATOS) visa responder a problemas como (i) a construção de modelos a partir de programas e (ii) a especificação de propriedades para estes modelos de acordo com as pretendidas para os programas. A construção manual de modelos que simulam o comportamento de programas é um processo complexo, temporalmente dispendioso, e sujeito a falhas devido à complexidade destes sistemas. De forma a ultrapassar este problema o ATOS propõe a extração automática de modelos a partir de programas Ada. Por outro lado, o mapeamento das propriedades desejadas dos programas em propriedades dos modelos pode ser urna tarefa com um grau de complexidade elevado, pois requer entre outros a utilização de um formalismo logico ao qual a maioria dos programadores não está acostumada. 0 ATOS ajuda no mapeamento destas propriedades, oferecendo vários mecanismos de suporte à sua especificação.The rapid growth of the complexity of software systems demands, flow more than ever, a rigorous validation of these systems in order to maintain or even increase their reliability. In particular in high-integrity systems, where failures may have catastrophic consequences which may even include the lost of human lives, the development of verification techniques capable of ensuring high degrees of confidence is seen as extremely important. In this thesis the use of a formal technique for the verification of Ada programs is proposed, which aims to increase the reliability of systems whose implementation is based on this programming language. More precisely, we target the application of the model checking technique to the verification of source code of concurrent Ada programs, with a special focus on the critical systems domain. Model checking is a well-succeeded technique for providing increased levels of assurance regarding system correctness. However, its application to software systems still faces several obstacles, and the necessary tools and techniques to help in the overcoming of these problems are still being developed. The tool presented in this thesis (ATOS) addresses the problems of (i) constructing models from programs and (ii) specifying properties for models corresponding to the ones desired for programs. The manual construction of models that simulate the behavior of programs is a time-costly, complex and error-prone process, due to the complexity of these systems. In order to overcome this problem, ATOS proposes the automatic extraction of models from Ada programs. On the other hand, the mapping of the desired properties from programs to models can be a task of high complexity, because it requires among others that they are expressed in a logical formalism that most programmers are not acquainted with. ATOS helps in this mapping task by providing several mechanisms aiming to support the specification of properties.Pinto, Jorge SousaUniversidade do MinhoMartins, João Pedro Marques da Silva2011-12-142011-12-14T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/27971enginfo: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:25:37Zoai:repositorium.sdum.uminho.pt:1822/27971Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:19:55.406678Repositó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 Formal verification of Ada programs: an approach based on model checking
title Formal verification of Ada programs: an approach based on model checking
spellingShingle Formal verification of Ada programs: an approach based on model checking
Martins, João Pedro Marques da Silva
Ada
Extração de Modelos
Lógica Temporal
Métodos Formais
Sistemas Críticos
SPIN
Verificação de Programas
Verificação Formal
Verificação de Modelos
Verificação de Modelos de Software
Critical Systems
Formal Methods
Formal Verification
Model Checking
Model Extraction
Software Verification
Software Model Checking
SPIN
Temporal Logic
681.3.06
title_short Formal verification of Ada programs: an approach based on model checking
title_full Formal verification of Ada programs: an approach based on model checking
title_fullStr Formal verification of Ada programs: an approach based on model checking
title_full_unstemmed Formal verification of Ada programs: an approach based on model checking
title_sort Formal verification of Ada programs: an approach based on model checking
author Martins, João Pedro Marques da Silva
author_facet Martins, João Pedro Marques da Silva
author_role author
dc.contributor.none.fl_str_mv Pinto, Jorge Sousa
Universidade do Minho
dc.contributor.author.fl_str_mv Martins, João Pedro Marques da Silva
dc.subject.por.fl_str_mv Ada
Extração de Modelos
Lógica Temporal
Métodos Formais
Sistemas Críticos
SPIN
Verificação de Programas
Verificação Formal
Verificação de Modelos
Verificação de Modelos de Software
Critical Systems
Formal Methods
Formal Verification
Model Checking
Model Extraction
Software Verification
Software Model Checking
SPIN
Temporal Logic
681.3.06
topic Ada
Extração de Modelos
Lógica Temporal
Métodos Formais
Sistemas Críticos
SPIN
Verificação de Programas
Verificação Formal
Verificação de Modelos
Verificação de Modelos de Software
Critical Systems
Formal Methods
Formal Verification
Model Checking
Model Extraction
Software Verification
Software Model Checking
SPIN
Temporal Logic
681.3.06
description Dissertação de mestrado em Engenharia de Informática
publishDate 2011
dc.date.none.fl_str_mv 2011-12-14
2011-12-14T00: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/27971
url http://hdl.handle.net/1822/27971
dc.language.iso.fl_str_mv eng
language eng
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_ 1799132660476411904