Spec#

Post on 29-Nov-2014

1.004 views 6 download

description

Apresentação de Spec# feita nas Jornadas de Informática da UBI

Transcript of Spec#

SPEC#

João OliveiraJoel Carvalho

O que é?M t d l i  d  d l i t  d   ftMetodologia de desenvolvimento de software.Definição de contratos (regras) associado ao código.Contratos são uma forma de especificação que p ç qgarantem a sua validade.Ferramentas: Eiffel, JML, SPEC#, etc…Ferramentas: Eiffel, JML, SPEC#, etc…

3

Imagem facultada pelo Prof. Simão Melo de Sousa 4

Origem: Criado pela MicrosoftCriado pela Microsoft.Extensão do C#.C tit íd  Constituído por:▪ Compilador (Type Checking).V ifi d  Di â i  (R ti )▪ Verificador Dinâmico (Runtime).

▪ Prover Estático (Boogie).

Motivação:Desenvolvimento FormalDesenvolvimento Formal.

5

Anotações (Pré, Pós Condições e Invariantes).

Tipos não Nulos.

Geração de Excepções sobre as anotações. ç pç ç

6

Imagem retirada da Apresentação “VSTTE‐SpecSharp.ppt” 7

Código em SPEC#                                                                Código em C#g g

8