Verificação Dedutiva de Programas |
Parte significativa do material a seguir apresentado foi retirado de duas formações Why3 ministradas (e gentilmente cedidas) pelo Jean-Christophe Filliâtre (link)
Site da plataforma Why3: Why3 - Where Programs Meet Provers (link)
Interface web Why3: Try why3 online (link)
Esta aula introduz os conceitos elementares e as técnicas próprias da verificação dedutiva de programas, como os invariantes de ciclo, contratos de funções, provas de terminação, código ghost, modelação de estruturas de dados, pre-condições mais fracas, etc.
É dada particular atenção ao uso de sistemas de prova automática no processo de verificação e no omnipresente compromisso entre especificações elegantes e provas totalmente automáticas.
Os exemplos apresentados na aula usam a plataforma Why3 e a componente prática, que propõe verificação deductiva de pequenos programas desafiantes, que segue deve ser resolvida nesta mesma plataforma
Ficheiros usados na aula:
Estas aulas laboratoriais podem usar a versão online da plataforma why3 (link) ou então o executável que pode ser instalado localmente no computador (ver neste (link) um resumo do processo de instalação).
No caso do uso da versão online, terá de selecionar o exercício no menú no topo da interface web e em seguida de completar o ficheiro carregado.
As questões associadas ao exercício estão apresentadas no topo do ficheiro (em inglês).
Caso necessário, poderá consultar a biblioteca standard Why3 (link).
No caso do uso do aplicativo standalone, o aplicativo poderá ser invocado via o comando: why3 ide file.mlw
Enviar comentários e dúvidas para (retire os UUU) :
desousaUUU@UUUdi.ubi.pt
This document was translated from LATEX by HEVEA.