Novas técnicas de instanciação e produção de demonstrações para a resolução SMT
Autor(a) principal: | |
---|---|
Data de Publicação: | 2017 |
Tipo de documento: | Tese |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFRN |
Texto Completo: | https://repositorio.ufrn.br/jspui/handle/123456789/24497 |
Resumo: | 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. |
id |
UFRN_5cf9fc53b06d41634700c6667d5abe1f |
---|---|
oai_identifier_str |
oai:https://repositorio.ufrn.br:123456789/24497 |
network_acronym_str |
UFRN |
network_name_str |
Repositório Institucional da UFRN |
repository_id_str |
|
spelling |
Barbosa, Haniel Moreirahttps://orcid.org/0000-0003-0188-2300http://lattes.cnpq.br/6657126741011519http://lattes.cnpq.br/2985658685449858Reynolds, AndrewDubois, CatherineÁbrahám, ErikaAlmeida, João Marcos dehttps://orcid.org/0000-0003-2601-8164http://lattes.cnpq.br/3059324458238110Fontaine, PascalRümmer, PhilippMerz, StephanDeharbe, David Boris Paul2017-12-13T18:11:52Z2017-12-13T18:11:52Z2017-09-05BARBOSA, Haniel Moreira. Novas técnicas de instanciação e produção de demonstrações para a resolução SMT. 2017. 138f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017.https://repositorio.ufrn.br/jspui/handle/123456789/24497Em 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.porCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOInstanciação de quantificadoresProdução de demonstraçõesAutomatização de demonstraçõesResolução SMTVerificação formaNovas técnicas de instanciação e produção de demonstrações para a resolução SMTinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALHanielMoreiraBarbosa_TESE.pdfHanielMoreiraBarbosa_TESE.pdfapplication/pdf2255052https://repositorio.ufrn.br/bitstream/123456789/24497/1/HanielMoreiraBarbosa_TESE.pdf3afa79d6d77457424f15c83d543840fdMD51TEXTHanielMoreiraBarbosa_TESE.pdf.txtHanielMoreiraBarbosa_TESE.pdf.txtExtracted texttext/plain336747https://repositorio.ufrn.br/bitstream/123456789/24497/2/HanielMoreiraBarbosa_TESE.pdf.txt4efd0f9c233fce50d640995bac6fcea2MD52THUMBNAILHanielMoreiraBarbosa_TESE.pdf.jpgHanielMoreiraBarbosa_TESE.pdf.jpgIM Thumbnailimage/jpeg1710https://repositorio.ufrn.br/bitstream/123456789/24497/3/HanielMoreiraBarbosa_TESE.pdf.jpgf3bebbc6a68e75a7ccdda81d2f083038MD53123456789/244972022-05-20 17:32:24.572oai:https://repositorio.ufrn.br:123456789/24497Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2022-05-20T20:32:24Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
dc.title.pt_BR.fl_str_mv |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
title |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
spellingShingle |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT Barbosa, Haniel Moreira CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Instanciação de quantificadores Produção de demonstrações Automatização de demonstrações Resolução SMT Verificação forma |
title_short |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
title_full |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
title_fullStr |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
title_full_unstemmed |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
title_sort |
Novas técnicas de instanciação e produção de demonstrações para a resolução SMT |
author |
Barbosa, Haniel Moreira |
author_facet |
Barbosa, Haniel Moreira |
author_role |
author |
dc.contributor.authorID.none.fl_str_mv |
https://orcid.org/0000-0003-0188-2300 |
dc.contributor.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/6657126741011519 |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/2985658685449858 |
dc.contributor.referees1.none.fl_str_mv |
Reynolds, Andrew |
dc.contributor.referees2.none.fl_str_mv |
Dubois, Catherine |
dc.contributor.referees3.none.fl_str_mv |
Ábrahám, Erika |
dc.contributor.referees4.none.fl_str_mv |
Almeida, João Marcos de |
dc.contributor.referees4ID.none.fl_str_mv |
https://orcid.org/0000-0003-2601-8164 |
dc.contributor.referees4Lattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/3059324458238110 |
dc.contributor.referees5.none.fl_str_mv |
Fontaine, Pascal |
dc.contributor.referees6.none.fl_str_mv |
Rümmer, Philipp |
dc.contributor.referees7.pt_BR.fl_str_mv |
Merz, Stephan |
dc.contributor.author.fl_str_mv |
Barbosa, Haniel Moreira |
dc.contributor.advisor1.fl_str_mv |
Deharbe, David Boris Paul |
contributor_str_mv |
Deharbe, David Boris Paul |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
topic |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Instanciação de quantificadores Produção de demonstrações Automatização de demonstrações Resolução SMT Verificação forma |
dc.subject.por.fl_str_mv |
Instanciação de quantificadores Produção de demonstrações Automatização de demonstrações Resolução SMT Verificação forma |
description |
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. |
publishDate |
2017 |
dc.date.accessioned.fl_str_mv |
2017-12-13T18:11:52Z |
dc.date.available.fl_str_mv |
2017-12-13T18:11:52Z |
dc.date.issued.fl_str_mv |
2017-09-05 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
BARBOSA, Haniel Moreira. Novas técnicas de instanciação e produção de demonstrações para a resolução SMT. 2017. 138f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufrn.br/jspui/handle/123456789/24497 |
identifier_str_mv |
BARBOSA, Haniel Moreira. Novas técnicas de instanciação e produção de demonstrações para a resolução SMT. 2017. 138f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2017. |
url |
https://repositorio.ufrn.br/jspui/handle/123456789/24497 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.program.fl_str_mv |
PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO |
dc.publisher.initials.fl_str_mv |
UFRN |
dc.publisher.country.fl_str_mv |
Brasil |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRN instname:Universidade Federal do Rio Grande do Norte (UFRN) instacron:UFRN |
instname_str |
Universidade Federal do Rio Grande do Norte (UFRN) |
instacron_str |
UFRN |
institution |
UFRN |
reponame_str |
Repositório Institucional da UFRN |
collection |
Repositório Institucional da UFRN |
bitstream.url.fl_str_mv |
https://repositorio.ufrn.br/bitstream/123456789/24497/1/HanielMoreiraBarbosa_TESE.pdf https://repositorio.ufrn.br/bitstream/123456789/24497/2/HanielMoreiraBarbosa_TESE.pdf.txt https://repositorio.ufrn.br/bitstream/123456789/24497/3/HanielMoreiraBarbosa_TESE.pdf.jpg |
bitstream.checksum.fl_str_mv |
3afa79d6d77457424f15c83d543840fd 4efd0f9c233fce50d640995bac6fcea2 f3bebbc6a68e75a7ccdda81d2f083038 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN) |
repository.mail.fl_str_mv |
|
_version_ |
1814833012722892800 |