Formal verification of Ada programs: an approach based on model checking
Autor(a) principal: | |
---|---|
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 |