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...
Main Author: | |
---|---|
Other Authors: | |
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 |