Saltar para:
Logótipo
Você está em: Início > CC447
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Verificação Formal de Software

Código: CC447     Sigla: CC447

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2012/2013 - 2S

Ativa? Sim
Página Web: http://www.dcc.fc.up.pt/~nam/web/Teaching/VFS1213/index.html
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
M:CC 3 PE do Mestrado em Ciência de Computadores 1 - 7,5 67 202,5
MI:ERS 14 Plano de Estudos a partir de 2007 4 - 7,5 67 202,5

Língua de trabalho

Português

Objetivos

Estudo e utilização de técnicas formais baseadas em modelos e em demonstração aplicadas à verificação de sistemas e programas.
Pretende-se que o aluno:
- em ambas as vertentes, perceba a importância da utilização da lógica e dos sistemas formais no desenvolvimento de sistemas informáticos complexos;
- seja capaz de modelar sistemas simples e de especificar propriedades utilizando lógicas temporais;
- seja capaz de anotar programas simples duma linguagem imperativa ou orientada a objetos de modo a garantir propriedades de segurança e propriedades funcionais; e de especificar teorias que permitam a modelação de estruturas mais complexas, cuja corre ̧çao será́ demonstrada por um demonstrador automático ou interativo;

Programa

Verificação por model checking de sistemas reactivos
Sistemas reactivos
Lógica temporais: linear (LTL), ramificada, (CTL e CTL*) e dinâmica.
(model checkeres):NUSMV
Model checking simbólico: BDDs e OBDDs
Algoritmos de decisão baseados em autómatos finitos
Verificação de Programas
Cálculos de correção (Lógica de Hoare)
Geração de obrigações de prova
Ferramentas para a especificação, verificação e certificação de programas imperativos: geradores de condições de verificação.
Demonstração automática
Demonstradores automáticos de teoremas baseados em SAT-DPLL e teorias decidíveis: inteiros, reais, ``arrays'', etc.
SMTs e algoritmos decisão.
Introdução à demonstração assistida. Assistente de demonstração COQ

Bibliografia Obrigatória

Michael Huth and Mark Ryan; Logic in Computer Science: Modelling and reasoning about systems. , 2004

Bibliografia Complementar

Christel Baier, Joost-Pieter Katoen, and Kim Guldstrand Larsen; Principles of Model Checking, MIT Press, 2008
José Bacelar Almeida,Jorge Sousa Pinto,Maria João Frade,Simão Melo de Sousa ; Rigorous Software Development: An Introduction to Program Verification, Springer-Verlag, 2011. ISBN: 978-0-85729-017-5

Métodos de ensino e atividades de aprendizagem

Aulas teóricas e aulas práticas com resoliução de trabalhos práticos.

Software

http://nusmv.fbk.eu/
http://why.lri.fr/

Palavras Chave

Ciências Físicas > Ciência de computadores

Tipo de avaliação

Avaliação distribuída sem exame final

Fórmula de cálculo da classificação final

Avaliação distribuída sem exame final. A avaliação é composta por:
1. realização e apresentação de trabalhos práticos (individuais) (TP) (5)
2. resumo escrito e apresentação de um tema/artigo científico (R)
A classificação final é obtida por:
F=(T*5+R*5)/20
Para aprovação é necessário que F>9.5
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-15 às 08:51:42 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias