Relatório de Pesquisa

Verificação Formal de Programas C++ que Usam o Framework Multi-Plataforma QT

Nossa dependência no funcionamento correto de sistemas embarcados está aumentando rapidamente. A grande difusão de dispositivos móveis e da evolução dos softwares e hardwares que os compõe é um bom exemplo da importância desses sistemas. Os mesmos estão se tornando cada vez mais complexos e requerem...

ver descrição completa

Autor principal: Felipe Rodrigues Monteiro Sousa
Grau: Relatório de Pesquisa
Idioma: pt_BR
Publicado em: Universidade Federal do Amazonas 2016
Assuntos:
Acesso em linha: http://riu.ufam.edu.br/handle/prefix/3103
Resumo:
Nossa dependência no funcionamento correto de sistemas embarcados está aumentando rapidamente. A grande difusão de dispositivos móveis e da evolução dos softwares e hardwares que os compõe é um bom exemplo da importância desses sistemas. Os mesmos estão se tornando cada vez mais complexos e requerem processadores multi-core com memória compartilhada escalável para atender a crescente demanda do poder computacional. Desta maneira, a confiabilidade dos sistemas (distribuídos) embarcados é um assunto chave no processo de desenvolvimento de tais sistemas. As empresas cada vez mais procuram formas mais rápidas e baratas para verificar a confiabilidade dos seus sistemas, evitando assim grandes prejuízos. Uma das formas mais eficazes e de mais baixo custo é a verificação formal de software. Apesar da eficácia desse método de verificação, existem muitos sistemas que não podem ser verificados de forma automática pelo fato de não existir disponível no mercado um verificador que englobe determinadas linguagens ou frameworks. Um bom exemplo disso, são as aplicações que utilizam o framework multi-plataforma QT. Neste projeto de pesquisa, nós investigaremos, a partir de análise de aplicações reais, quais são as funcionalidades mais utilizadas do framework QT no mercado, definindo assim uma estrutura de como será feita a verificação de programas C++ que utilizam desse framework. Os algoritmos desenvolvidos neste projeto de pesquisa serão integrados no nosso verificador de código ESBMC (Efficient SMT-based Context-Bounded Model Checker) reconhecido internacionalmente pelo sua robustez e eficácia na verificação de programas ANSI-C, ganhando destaque ao conseguir medalha de ouro nas categorias SystemC e Concurrency na Primeira Competição Internacional em Verificação de Software (SVCOMP'12), além de ganhar medalha de bronze no ranking geral. É importante salientar que o acadêmico irá ter contato com o estado da arte da sub-área de Verificação Formal de Software, além disso, o acadêmico será capaz de implementar algoritmos de média complexidade, analisar aplicações reais, e desenvolver habilidades de desenvolvimento com a linguagem C++ e o framework Qt.