Verificação Dedutiva de Programas
em Why3

Simão Melo de Sousa
Departamento de Informática
Universidade da Beira Interior

Este documento na versão pdf (link).

Aviso

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)

Resumo

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

Material

 
Ficheiros usados na aula:

Práticas Laboratoriais

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

Os exercícios

Leituras auxiliares recomendadas




Enviar comentários e dúvidas para (retire os UUU) : desousaUUU@UUUdi.ubi.pt


This document was translated from LATEX by HEVEA.