A methodology to apply formal verification to UML-based software

Detalhes bibliográficos
Autor(a) principal: Luciana Brasil Rebelo dos Santos
Data de Publicação: 2015
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações do INPE
Texto Completo: http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24
Resumo: Software development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development.
id INPE_d4094b419adabd47b11f77b1393dae2d
oai_identifier_str oai:urlib.net:sid.inpe.br/mtc-m21b/2015/09.08.18.24.45-0
network_acronym_str INPE
network_name_str Biblioteca Digital de Teses e Dissertações do INPE
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisA methodology to apply formal verification to UML-based softwareUma metodologia para aplicar verificação formal a software desenvolvido de acordo com UML2015-10-02Valdivino Alexandre de Santiago JúniorNandamudi Lankalapalli VijaykumarFábio Fagundes SilveiraEdgar Toshiro YanoLuciana Brasil Rebelo dos SantosInstituto Nacional de Pesquisas Espaciais (INPE)Programa de Pós-Graduação do INPE em Computação AplicadaINPEBRUMLformal verificationmodel checkingSOLIMVAformal methodsverificação formalmétodos formaisSoftware development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development.Organizações que desenvolvem software objetivam produzir produtos de software de qualidade, especialmente aquelas que lidam com sistemas críticos, que demandam software de alta qualidade. Métodos Formais oferecem grande potencial para prover técnicas de verificação mais efetivas. Além disso, métodos de Verificação Formal, como Model Checking, são aplicados de maneira mais eficiente nos estágios iniciais do projeto de software, quando os custos ainda são baixos e os benefícios podem ser altos, aumentando a qualidade dos sistemas de software. A Linguagem de Modelagem Unificada (UML) é consideravelmente utilizada para modelar software (orientado a objetos), e seu uso tem crescido na indústria aeroespacial. Verificação e Validação de sistemas complexos desenvolvidos de acordo com UML não são tarefas triviais, devido à complexidade do software em si, e a diversos diagramas/modelos UML diferentes que podem ser usados para modelar o comportamento e a estrutura do sistema. Esta tese de doutorado apresenta uma extensão de uma metodologia chamada SOLIMVA, desenvolvida inicialmente para gerar casos de teste de sistema e de aceitação baseados em modelos, considerando requisitos em Linguagem Natural (SOLIMVA 1.0), e para detectar não completude em especificações de software utilizando Model Checking (SOLIMVA 2.0). Tal extensão gerou a SOLIMVA 3.0, a qual transforma até três diferentes diagramas comportamentais da UML (sequência, atividades e máquina de estado) em um único Sistema de Transição de Estados para possibilitar a aplicação de Model Checking em software desenvolvido de acordo com a UML. Na SOLIMVA 3.0, as propriedades são formalizadas baseando-se nos modelos de casos de uso ou em requisitos expressos em notação textual pura. A tradução para o Sistema de Transição de Estados é feita para a ferramenta de Model Checking NuSMV, mas existe a possibilidade de se utilizar outras ferramentas, como por exemplo, SPIN. Uma ferramenta, XML Metadata Interchange to Transition System (XMITS), foi desenvolvida para automatizar algumas atividades da metodologia SOLIMVA 3.0. A abordagem foi aplicada em dois estudos de caso reais (software embarcado) relacionados a um projeto em desenvolvimento no Instituto Nacional de Pesquisas Espaciais (INPE). Foram encontrados defeitos nos projetos desses sistemas de software, mostrando a viabilidade da metodologia. A principal contribuição desta tese de doutorado é a transformação de uma linguagem não formal (UML) para uma linguagem formal (linguagem de entrada da ferramenta de Model Checking NuSMV), tendo como objetivo uma maior utilização, na prática, de Métodos Formais no processo de desenvolvimento de software.http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24info:eu-repo/semantics/openAccessengreponame:Biblioteca Digital de Teses e Dissertações do INPEinstname:Instituto Nacional de Pesquisas Espaciais (INPE)instacron:INPE2021-07-31T06:54:51Zoai:urlib.net:sid.inpe.br/mtc-m21b/2015/09.08.18.24.45-0Biblioteca Digital de Teses e Dissertaçõeshttp://bibdigital.sid.inpe.br/PUBhttp://bibdigital.sid.inpe.br/col/iconet.com.br/banon/2003/11.21.21.08/doc/oai.cgiopendoar:32772021-07-31 06:54:53.191Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE)false
dc.title.en.fl_str_mv A methodology to apply formal verification to UML-based software
dc.title.alternative.pt.fl_str_mv Uma metodologia para aplicar verificação formal a software desenvolvido de acordo com UML
title A methodology to apply formal verification to UML-based software
spellingShingle A methodology to apply formal verification to UML-based software
Luciana Brasil Rebelo dos Santos
title_short A methodology to apply formal verification to UML-based software
title_full A methodology to apply formal verification to UML-based software
title_fullStr A methodology to apply formal verification to UML-based software
title_full_unstemmed A methodology to apply formal verification to UML-based software
title_sort A methodology to apply formal verification to UML-based software
author Luciana Brasil Rebelo dos Santos
author_facet Luciana Brasil Rebelo dos Santos
author_role author
dc.contributor.advisor1.fl_str_mv Valdivino Alexandre de Santiago Júnior
dc.contributor.advisor2.fl_str_mv Nandamudi Lankalapalli Vijaykumar
dc.contributor.referee1.fl_str_mv Fábio Fagundes Silveira
dc.contributor.referee2.fl_str_mv Edgar Toshiro Yano
dc.contributor.author.fl_str_mv Luciana Brasil Rebelo dos Santos
contributor_str_mv Valdivino Alexandre de Santiago Júnior
Nandamudi Lankalapalli Vijaykumar
Fábio Fagundes Silveira
Edgar Toshiro Yano
dc.description.abstract.por.fl_txt_mv Software development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development.
Organizações que desenvolvem software objetivam produzir produtos de software de qualidade, especialmente aquelas que lidam com sistemas críticos, que demandam software de alta qualidade. Métodos Formais oferecem grande potencial para prover técnicas de verificação mais efetivas. Além disso, métodos de Verificação Formal, como Model Checking, são aplicados de maneira mais eficiente nos estágios iniciais do projeto de software, quando os custos ainda são baixos e os benefícios podem ser altos, aumentando a qualidade dos sistemas de software. A Linguagem de Modelagem Unificada (UML) é consideravelmente utilizada para modelar software (orientado a objetos), e seu uso tem crescido na indústria aeroespacial. Verificação e Validação de sistemas complexos desenvolvidos de acordo com UML não são tarefas triviais, devido à complexidade do software em si, e a diversos diagramas/modelos UML diferentes que podem ser usados para modelar o comportamento e a estrutura do sistema. Esta tese de doutorado apresenta uma extensão de uma metodologia chamada SOLIMVA, desenvolvida inicialmente para gerar casos de teste de sistema e de aceitação baseados em modelos, considerando requisitos em Linguagem Natural (SOLIMVA 1.0), e para detectar não completude em especificações de software utilizando Model Checking (SOLIMVA 2.0). Tal extensão gerou a SOLIMVA 3.0, a qual transforma até três diferentes diagramas comportamentais da UML (sequência, atividades e máquina de estado) em um único Sistema de Transição de Estados para possibilitar a aplicação de Model Checking em software desenvolvido de acordo com a UML. Na SOLIMVA 3.0, as propriedades são formalizadas baseando-se nos modelos de casos de uso ou em requisitos expressos em notação textual pura. A tradução para o Sistema de Transição de Estados é feita para a ferramenta de Model Checking NuSMV, mas existe a possibilidade de se utilizar outras ferramentas, como por exemplo, SPIN. Uma ferramenta, XML Metadata Interchange to Transition System (XMITS), foi desenvolvida para automatizar algumas atividades da metodologia SOLIMVA 3.0. A abordagem foi aplicada em dois estudos de caso reais (software embarcado) relacionados a um projeto em desenvolvimento no Instituto Nacional de Pesquisas Espaciais (INPE). Foram encontrados defeitos nos projetos desses sistemas de software, mostrando a viabilidade da metodologia. A principal contribuição desta tese de doutorado é a transformação de uma linguagem não formal (UML) para uma linguagem formal (linguagem de entrada da ferramenta de Model Checking NuSMV), tendo como objetivo uma maior utilização, na prática, de Métodos Formais no processo de desenvolvimento de software.
description Software development organizations aim to add quality to the created products, especially those dealing with critical systems, which require high quality software. Formal Methods offer a large potential to provide more effective verification techniques. Besides, Formal Verification methods, such as Model Checking, are best applied in early stages of system design, when costs are low and benefits can be high, increasing the quality of systems. Unified Modeling Language (UML) is widely used for modeling (object-oriented) software, and its use is increasing in the aerospace industry. Verification and Validation of complex software developed according to UML is not trivial due to complexity of the software itself, and the several different UML models/diagrams that can be used to model behavior and structure of the software. This PhD thesis presents an extension of a methodology called SOLIMVA, initially developed to generate model-based system and acceptance test cases considering Natural Language requirements artifacts (SOLIMVA 1.0), and to detect incompleteness in software specifications by means of Model Checking (SOLIMVA 2.0). Such an extension generated SOLIMVA 3.0 which transforms up to three different UML behavioral diagrams (sequence, behavioral state machine, and activity) into a single Transition System to support Model Checking of software developed in accordance with UML. In SOLIMVA 3.0, properties are formalized based on use case models or requirements expressed in pure textual notation. The translation into the Transition System is done for the NuSMV model checker, but there is a possibility in using other model checkers, such as SPIN. A tool, XML Metadata Interchange to Transition System (XMITS), was developed to automate some steps of SOLIMVA 3.0 methodology. The approach was applied to two real case studies (embedded software) related to project under development at Instituto Nacional de Pesquisas Espaciais (INPE). Defects were detected within the design of these software systems showing the feasibility of the methodology. The main contribution of this PhD thesis is the transformation of a non-formal language (UML) to a formal language (language of the NuSMV model checker) towards a greater adoption in practice of Formal Methods in software development.
publishDate 2015
dc.date.issued.fl_str_mv 2015-10-02
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
status_str publishedVersion
format doctoralThesis
dc.identifier.uri.fl_str_mv http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24
url http://urlib.net/sid.inpe.br/mtc-m21b/2015/09.08.18.24
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.publisher.none.fl_str_mv Instituto Nacional de Pesquisas Espaciais (INPE)
dc.publisher.program.fl_str_mv Programa de Pós-Graduação do INPE em Computação Aplicada
dc.publisher.initials.fl_str_mv INPE
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv Instituto Nacional de Pesquisas Espaciais (INPE)
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações do INPE
instname:Instituto Nacional de Pesquisas Espaciais (INPE)
instacron:INPE
reponame_str Biblioteca Digital de Teses e Dissertações do INPE
collection Biblioteca Digital de Teses e Dissertações do INPE
instname_str Instituto Nacional de Pesquisas Espaciais (INPE)
instacron_str INPE
institution INPE
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE)
repository.mail.fl_str_mv
publisher_program_txtF_mv Programa de Pós-Graduação do INPE em Computação Aplicada
contributor_advisor1_txtF_mv Valdivino Alexandre de Santiago Júnior
_version_ 1706809357706985472