Verificação baseada em indução matemática para programas C++

Submitted by Geyciane Santos (geyciane_thamires@hotmail.com) on 2015-07-23T13:51:53Z No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) === Approved for entry into archive by Divisão de Documentação/BC Biblioteca C...

Full description

Bibliographic Details
Main Author: Gadelha, Mikhail Yasha Ramalho
Other Authors: Cordeiro, Lucas Carvalho
Format: Others
Language:Portuguese
Published: Universidade Federal do Amazonas 2015
Subjects:
Online Access:http://tede.ufam.edu.br/handle/tede/4497
id ndltd-IBICT-oai-http---localhost-tede-4497
record_format oai_dc
collection NDLTD
language Portuguese
format Others
sources NDLTD
topic Verificação formal
Prova por indução
Linguagem de programação C++
Formal verification
Proof by induction
C++ programming language
ENGENHARIAS: ENGENHARIA ELÉTRICA
spellingShingle Verificação formal
Prova por indução
Linguagem de programação C++
Formal verification
Proof by induction
C++ programming language
ENGENHARIAS: ENGENHARIA ELÉTRICA
Gadelha, Mikhail Yasha Ramalho
Verificação baseada em indução matemática para programas C++
description Submitted by Geyciane Santos (geyciane_thamires@hotmail.com) on 2015-07-23T13:51:53Z No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) === Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2015-07-23T15:49:26Z (GMT) No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) === Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2015-07-23T15:52:49Z (GMT) No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) === Made available in DSpace on 2015-07-23T15:52:49Z (GMT). No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) Previous issue date: 2013-12-20 === FAPEAM - Fundação de Amparo à Pesquisa do Estado do Amazonas === The use of embedded systems, computational systems specialized to do a function in larger systems, electronic or mechanical, is growing in the daily life, and it is becoming increasingly important to ensure the robustness of these systems. There are several techniques to ensure that a system is released without error. In particular, formal verification is proving very effective in finding bugs in programs. In this work, we describe the formal verification for C++ Programs and correctness proof by mathematical induction. Both techniques will be developed using the tool Efficient SMT-Based Context-Bounded Model Checker (ESBMC), a model checker based on satisfiability modulo theories and first order logic. The experiments show that the tool can be used to check a wide range of applications, from simple test cases to commercial applications. The tool also proved to be more efficient than other models checkers to verify C++ programs, finding a greater number of bugs, and supporting a larger number of the features that the language C++ has to offer, in addition to being able to prove several properties, using the method of mathematical induction. === A utilização de sistemas embarcados, sistemas computacionais especializados para realizar uma função em sistemas maiores, eletrônicos ou mecânicos, vem crescendo no dia a dia das pessoas, e vem se tornando cada vez mais importante garantir a robustez desses sistemas. Existem diversas técnicas para garantir que um sistema seja lançado sem erros. Em especial, a verificação formal de programas está se mostrando efetiva na busca por falhas. Neste trabalho, serão descritos a verificação formal de programas C++ e a prova de corretude por indução matemática. Ambas as técnicas serão desenvolvidas utilizando a ferramenta Efficient SMTBased Context-Bounded Model Checker (ESBMC), um verificador de modelos que se baseia em teorias de satisfabilidade de fórmulas proposicionais e de lógica de primeira ordem. Os experimentos mostram que a ferramenta pode ser utilizada para verificar uma ampla gama de aplicações, de casos simples à aplicações comerciais. A ferramenta também mostrou-se superior em comparação com outros verificadores na verificação de programas C++, encontrando um maior número de erros e suportando um número superior das funcionalidades que a linguagem C++ tem a oferecer, além de ser capaz de provar diversas propriedades (por exemplo, laços invariantes), utilizando a técnica de indução matemática.
author2 Cordeiro, Lucas Carvalho
author_facet Cordeiro, Lucas Carvalho
Gadelha, Mikhail Yasha Ramalho
author Gadelha, Mikhail Yasha Ramalho
author_sort Gadelha, Mikhail Yasha Ramalho
title Verificação baseada em indução matemática para programas C++
title_short Verificação baseada em indução matemática para programas C++
title_full Verificação baseada em indução matemática para programas C++
title_fullStr Verificação baseada em indução matemática para programas C++
title_full_unstemmed Verificação baseada em indução matemática para programas C++
title_sort verificação baseada em indução matemática para programas c++
publisher Universidade Federal do Amazonas
publishDate 2015
url http://tede.ufam.edu.br/handle/tede/4497
work_keys_str_mv AT gadelhamikhailyasharamalho verificacaobaseadaeminducaomatematicaparaprogramasc
_version_ 1718894360296161280
spelling ndltd-IBICT-oai-http---localhost-tede-44972019-01-21T22:26:59Z Verificação baseada em indução matemática para programas C++ Gadelha, Mikhail Yasha Ramalho Cordeiro, Lucas Carvalho Verificação formal Prova por indução Linguagem de programação C++ Formal verification Proof by induction C++ programming language ENGENHARIAS: ENGENHARIA ELÉTRICA Submitted by Geyciane Santos (geyciane_thamires@hotmail.com) on 2015-07-23T13:51:53Z No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2015-07-23T15:49:26Z (GMT) No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2015-07-23T15:52:49Z (GMT) No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) Made available in DSpace on 2015-07-23T15:52:49Z (GMT). No. of bitstreams: 1 Dissertação - Mikhail Yasha Ramalho Gadelha.pdf: 1839545 bytes, checksum: 9f5e7d75af46b461d8ad6837ce6ad0be (MD5) Previous issue date: 2013-12-20 FAPEAM - Fundação de Amparo à Pesquisa do Estado do Amazonas The use of embedded systems, computational systems specialized to do a function in larger systems, electronic or mechanical, is growing in the daily life, and it is becoming increasingly important to ensure the robustness of these systems. There are several techniques to ensure that a system is released without error. In particular, formal verification is proving very effective in finding bugs in programs. In this work, we describe the formal verification for C++ Programs and correctness proof by mathematical induction. Both techniques will be developed using the tool Efficient SMT-Based Context-Bounded Model Checker (ESBMC), a model checker based on satisfiability modulo theories and first order logic. The experiments show that the tool can be used to check a wide range of applications, from simple test cases to commercial applications. The tool also proved to be more efficient than other models checkers to verify C++ programs, finding a greater number of bugs, and supporting a larger number of the features that the language C++ has to offer, in addition to being able to prove several properties, using the method of mathematical induction. A utilização de sistemas embarcados, sistemas computacionais especializados para realizar uma função em sistemas maiores, eletrônicos ou mecânicos, vem crescendo no dia a dia das pessoas, e vem se tornando cada vez mais importante garantir a robustez desses sistemas. Existem diversas técnicas para garantir que um sistema seja lançado sem erros. Em especial, a verificação formal de programas está se mostrando efetiva na busca por falhas. Neste trabalho, serão descritos a verificação formal de programas C++ e a prova de corretude por indução matemática. Ambas as técnicas serão desenvolvidas utilizando a ferramenta Efficient SMTBased Context-Bounded Model Checker (ESBMC), um verificador de modelos que se baseia em teorias de satisfabilidade de fórmulas proposicionais e de lógica de primeira ordem. Os experimentos mostram que a ferramenta pode ser utilizada para verificar uma ampla gama de aplicações, de casos simples à aplicações comerciais. A ferramenta também mostrou-se superior em comparação com outros verificadores na verificação de programas C++, encontrando um maior número de erros e suportando um número superior das funcionalidades que a linguagem C++ tem a oferecer, além de ser capaz de provar diversas propriedades (por exemplo, laços invariantes), utilizando a técnica de indução matemática. 2015-07-23T15:52:49Z 2013-12-20 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis GADELHA, Mikhail Yasha Ramalho. Verificação baseada em indução matemática para programas C++. 2013. 85 f. Dissertação (Mestrado em Engenharia Elétrica) - Universidade Federal do Amazonas, Manaus, 2013. http://tede.ufam.edu.br/handle/tede/4497 por -161377036298529205 600 info:eu-repo/semantics/openAccess application/pdf Universidade Federal do Amazonas Programa de Pós-graduação em Engenharia Elétrica UFAM Brasil Faculdade de Tecnologia reponame:Biblioteca Digital de Teses e Dissertações da UFAM instname:Universidade Federal do Amazonas instacron:UFAM