Novas t?cnicas de instancia??o e produ??o de demonstra??es para a resolu??o SMT

Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-12-12T17:57:13Z No. of bitstreams: 1 HanielMoreiraBarbosa_TESE.pdf: 2203436 bytes, checksum: 38477e5641001f5d9fdcb2ab0ac16855 (MD5) === Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-1...

Full description

Bibliographic Details
Main Author: Barbosa, Haniel Moreira
Other Authors: 00809085437
Language:Portuguese
Published: PROGRAMA DE P?S-GRADUA??O EM SISTEMAS E COMPUTA??O 2017
Subjects:
Online Access:https://repositorio.ufrn.br/jspui/handle/123456789/24497
Description
Summary:Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-12-12T17:57:13Z No. of bitstreams: 1 HanielMoreiraBarbosa_TESE.pdf: 2203436 bytes, checksum: 38477e5641001f5d9fdcb2ab0ac16855 (MD5) === Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-12-13T18:11:52Z (GMT) No. of bitstreams: 1 HanielMoreiraBarbosa_TESE.pdf: 2203436 bytes, checksum: 38477e5641001f5d9fdcb2ab0ac16855 (MD5) === Made available in DSpace on 2017-12-13T18:11:52Z (GMT). No. of bitstreams: 1 HanielMoreiraBarbosa_TESE.pdf: 2203436 bytes, checksum: 38477e5641001f5d9fdcb2ab0ac16855 (MD5) Previous issue date: 2017-09-05 === Em muitas aplica??es de m?todos formais, como verifica??o formal, s?ntese de programas, testes autom?ticos e an?lise de programas, ? comum depender de solucionadores de satisfatibilidade m?dulo teorias (SMT) como backends para resolver automaticamente condi??es que precisam ser verificadas e fornecer certificados de seus resultados. Nesta tese, objetivamos melhorar a efici?ncia dos solucionadores SMT e aumentar sua confiabilidade. Nossa primeira contribui??o ? fornecer um arcabou?o uniforme e eficiente para raciocinar com f?rmulas quantificadas em solucionadores SMT, em que, geralmente, v?rias t?cnicas de instancia??o s?o empregadas para lidar com quantificadores. Mostramos que as principais t?cnicas de instancia??o podem ser lan?adas neste arcabou?o unificador para lidar com f?rmulas quantificadas com igualdade e fun??es n?o interpretadas. O arcabou?o baseia-se no problema de E-ground (dis)unifica??o, uma varia??o do problema cl?ssico de E-unifica??o r?gida. Apresentamos um c?lculo correto e completo para resolver esse problema na pr?tica: Fechamento de Congru?ncia com Vari?veis Livres (CCFV). Uma avalia??o experimental ? apresentada, na qual medimos o impacto das otimiza??es e t?cnicas de instancia??o baseadas no CCFV nos solucionadores SMT veriT e CVC4. Mostramos que nossas implementa??es exibem melhorias em rela??o ?s abordagens de ?ltima gera??o em v?rias bibliotecas de refer?ncia, decorrentes de aplica??es do mundo real. Nossa segunda contribui??o ? uma estrutura para o processamento de f?rmulas ao mesmo tempo que produz demonstra??es detalhadas. Nosso objetivo ? aumentar a confiabilidade nos resultados de solucionadores SMT e sistemas de racioc?nio automatizado similares, fornecendo justificativas que podem ser verificadas com efici?ncia de forma independente e para melhorar sua usabilidade por aplicativos externos. Os assistentes de demonstra??o, por exemplo, geralmente requerem a reconstru??o da justifica??o fornecida pelo solucionador em uma determinada obriga??o de prova. Os principais componentes da nossa estrutura de produ??o de demonstra??es s?o um algoritmo gen?rico de recurs?o contextual e um conjunto extens?vel de regras de infer?ncia. Clausifica??o, Skolemiza??o, simplifica??es espec?ficas de teorias e expans?o das express?es "let" s?o exemplos dessa estrutura. Com estruturas de dados adequadas, a gera??o de demonstra??es cria apenas uma sobrecarga de tempo linear, e as demonstra??es podem ser verificadas em tempo linear. Tamb?m implementamos a abordagem em veriT. Isso nos permitiu simplificar drasticamente a base do c?digo, aumentando o n?mero de problemas para os quais demonstra??es detalhadas podem ser produzidas. === In many formal methods applications it is common to rely on SMT solvers to automatically discharge conditions that need to be checked and provide certificates of their results. In this thesis we aim both to improve their efficiency of and to increase their reliability. Our first contribution is a uniform framework for reasoning with quantified formulas in SMT solvers, in which generally various instantiation techniques are employed. We show that the major instantiation techniques can be all cast in this unifying framework. Its basis is the problem of E-ground (dis)unification, a variation of the classic rigid E-unification problem. We introduce a decision procedure to solve this problem in practice: Congruence Closure with Free Variables (CCFV). We measure the impact of optimizations and instantiation techniques based on CCFV in the SMT solvers veriT and CVC4, showing that our implementations exhibit improvements over state-of-the-art approaches in several benchmark libraries stemming from real world applications. Our second contribution is a framework for processing formulas while producing detailed proofs. The main components of our proof producing framework are a generic contextual recursion algorithm and an extensible set of inference rules. With suitable data structures, proof generation creates only a linear-time overhead, and proofs can be checked in linear time. We also implemented the approach in veriT. This allowed us to dramatically simplify the code base while increasing the number of problems for which detailed proofs can be produced.