Towards a Formally Verified Space Mission Software using SPARK

Bibliographic Details
Main Author: Neto, Paulo Miguel Ferreira
Publication Date: 2019
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.6/10052
Summary: This research work is in the scope of the Master course in Computer Science of University of Beira Interior dissertation and introduces the research undertaken in a Master Thesis done in collaboration with Critical Software, SA. This document presents the effort for verification and validation of ExoMars Trace Gas Orbiter Central Software that was fully implemented by Critical Software in cooperation with Thales Alenia Space, for an European Space Agency exploration of Mars atmosphere mission. The work was an Ada implemented code reformulation to SPARK aiming the capability evaluation of code analysis and Design-by-Contract techniques for validation and verification of a spacecraft on board software. On Safety Mission-Critical systems the importance of secure and reliable software path to the introduction of new high integrity development methods as an efficient and low cost alternative of software testing. As Edger Dijsktra said, testing software only detect the presence of bugs but not prove his absence and, besides that, it is a late detection. There is an increased need of safety and functional properties assurance before the system deployment. Design-by-Contract approach is a kind of formal code verification, based on Hoare Logic, that can reduce the costs in two ways, because it gave earlier high guarantees that code is free of runtime errors and run as expected, in the development phase where bugs correction is cheaper. SPARK toolset is used to perform formal code verification for Ada programming language, mostly used on Safety Mission-Critical systems development. SPARK analysis is targeted for assurance of correct information flow and the correct behaviour of programs execution.
id RCAP_c1a7fbce71fc320a7c312c6d56afda20
oai_identifier_str oai:ubibliorum.ubi.pt:10400.6/10052
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Towards a Formally Verified Space Mission Software using SPARKAnálise de FluxoDesign-By-ContractExomarsMétodos FormaisSistemas Safety Mission-CriticalVerificação Formal de CódigoThis research work is in the scope of the Master course in Computer Science of University of Beira Interior dissertation and introduces the research undertaken in a Master Thesis done in collaboration with Critical Software, SA. This document presents the effort for verification and validation of ExoMars Trace Gas Orbiter Central Software that was fully implemented by Critical Software in cooperation with Thales Alenia Space, for an European Space Agency exploration of Mars atmosphere mission. The work was an Ada implemented code reformulation to SPARK aiming the capability evaluation of code analysis and Design-by-Contract techniques for validation and verification of a spacecraft on board software. On Safety Mission-Critical systems the importance of secure and reliable software path to the introduction of new high integrity development methods as an efficient and low cost alternative of software testing. As Edger Dijsktra said, testing software only detect the presence of bugs but not prove his absence and, besides that, it is a late detection. There is an increased need of safety and functional properties assurance before the system deployment. Design-by-Contract approach is a kind of formal code verification, based on Hoare Logic, that can reduce the costs in two ways, because it gave earlier high guarantees that code is free of runtime errors and run as expected, in the development phase where bugs correction is cheaper. SPARK toolset is used to perform formal code verification for Ada programming language, mostly used on Safety Mission-Critical systems development. SPARK analysis is targeted for assurance of correct information flow and the correct behaviour of programs execution.Este trabalho de investigação está inserido no âmbito da dissertação do curso de Mestrado em Engenharia Informática da Universidade da Beira Interior realizado em contexto industrial na empresa Critical Software, SA. Este documento apresenta o projeto de verificação e validação formal do Software Central do ExoMars Trace Gas Orbiter que foi totalmente implementado pela Critical Software em parceria com a Thales Alenia Space, para uma missão da Agência Espacial Europeia direcionada à exploração da atmosfera Marciana. O trabalho realizado tratou da reformulação do código implementado em Ada para SPARK com o objetivo de avaliar as suas capacidades de análise de código e as técnicas de Design-by-Contract para validação e verificação formal do software de voo de um satélite. Em sistemas Safety Mission-Critical a importância de um software seguro e confiável conduz à introdução novos métodos de desenvolvimento com grande integridade como uma alternativa aos testes de software eficiente e de baixo custo. Tal como Edger Dijsktra disse, testar software apenas deteta a presença de erros mas não prova a sua ausência e, para além disso, a deteção é tardia. Existe uma cresente necessidade de assegurar as propriedades funcionais e de safety do sistema na fase de pré-produção. A abordagem Design-by-Contract é um tipo de verificação formal de código, baseada na Lógica de Hoare, que pode reduzir os custos de duas formas, porque dá-nos elevadas garantias de que o código está livre de erros de execução e que irá executar como pretendido, logo na fase de desenvolvimento onde a correção de erros é menos custosa. A ferramenta SPARK é usada para realizar a verificação formal de código para a linguagem de programação Ada, usado na maioria dos casos para o desenvolvimento de sistemas Safety Mission-Critical. A análise do SPARK é direcionada para a garantia de um correto fluxo de informação e o correto comportamente na execução dos programas.Sousa, Simão Patricio Melo deuBibliorumNeto, Paulo Miguel Ferreira2020-03-18T16:28:23Z2019-07-252019-06-212019-07-25T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.6/10052urn:tid:202365239enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-11T16:07:45Zoai:ubibliorum.ubi.pt:10400.6/10052Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T01:31:58.141340Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Towards a Formally Verified Space Mission Software using SPARK
title Towards a Formally Verified Space Mission Software using SPARK
spellingShingle Towards a Formally Verified Space Mission Software using SPARK
Neto, Paulo Miguel Ferreira
Análise de Fluxo
Design-By-Contract
Exomars
Métodos Formais
Sistemas Safety Mission-Critical
Verificação Formal de Código
title_short Towards a Formally Verified Space Mission Software using SPARK
title_full Towards a Formally Verified Space Mission Software using SPARK
title_fullStr Towards a Formally Verified Space Mission Software using SPARK
title_full_unstemmed Towards a Formally Verified Space Mission Software using SPARK
title_sort Towards a Formally Verified Space Mission Software using SPARK
author Neto, Paulo Miguel Ferreira
author_facet Neto, Paulo Miguel Ferreira
author_role author
dc.contributor.none.fl_str_mv Sousa, Simão Patricio Melo de
uBibliorum
dc.contributor.author.fl_str_mv Neto, Paulo Miguel Ferreira
dc.subject.por.fl_str_mv Análise de Fluxo
Design-By-Contract
Exomars
Métodos Formais
Sistemas Safety Mission-Critical
Verificação Formal de Código
topic Análise de Fluxo
Design-By-Contract
Exomars
Métodos Formais
Sistemas Safety Mission-Critical
Verificação Formal de Código
description This research work is in the scope of the Master course in Computer Science of University of Beira Interior dissertation and introduces the research undertaken in a Master Thesis done in collaboration with Critical Software, SA. This document presents the effort for verification and validation of ExoMars Trace Gas Orbiter Central Software that was fully implemented by Critical Software in cooperation with Thales Alenia Space, for an European Space Agency exploration of Mars atmosphere mission. The work was an Ada implemented code reformulation to SPARK aiming the capability evaluation of code analysis and Design-by-Contract techniques for validation and verification of a spacecraft on board software. On Safety Mission-Critical systems the importance of secure and reliable software path to the introduction of new high integrity development methods as an efficient and low cost alternative of software testing. As Edger Dijsktra said, testing software only detect the presence of bugs but not prove his absence and, besides that, it is a late detection. There is an increased need of safety and functional properties assurance before the system deployment. Design-by-Contract approach is a kind of formal code verification, based on Hoare Logic, that can reduce the costs in two ways, because it gave earlier high guarantees that code is free of runtime errors and run as expected, in the development phase where bugs correction is cheaper. SPARK toolset is used to perform formal code verification for Ada programming language, mostly used on Safety Mission-Critical systems development. SPARK analysis is targeted for assurance of correct information flow and the correct behaviour of programs execution.
publishDate 2019
dc.date.none.fl_str_mv 2019-07-25
2019-06-21
2019-07-25T00:00:00Z
2020-03-18T16:28: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.6/10052
urn:tid:202365239
url http://hdl.handle.net/10400.6/10052
identifier_str_mv urn:tid:202365239
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833601025454374912