engenharia da fiabilidade: metodos´ formais e aplicac¸oes˜desousa/2003-2004/tcomp/mestrado.pdfsi...
TRANSCRIPT
Engenharia da Fiabilidade: Metodos Formaise Aplicacoes
Simao MELO DE SOUSA
DI-UBI, Covilha - Portugal
Mestrado DI-UBI, 17-10-2003 – p.1
Plano
• Contexto e Motivacao
• Panorama dos formalismos e das ferramentas
• Conclusoes
Mestrado DI-UBI, 17-10-2003 – p.2
Plano
• Contexto e Motivacao
• Panorama dos formalismos e das ferramentas
• Conclusões
Mestrado DI-UBI, 17-10-2003 – p.2
Evolução dos Sistemas Informáticos
• Difusao dos Sistemas Informáticos (SIs) (emsectores essenciais da sociedade) cada vezmaior;
• Complexidade dos SIs cada vez maior:tamanho e evolução técnica;
• Emergencia de novas tecnologias, de novosmercados, assim como de novas exigências.
Mestrado DI-UBI, 17-10-2003 – p.3
Evolução dos Sistemas Informáticos
Exemplos: informática omnipresente, sociedadedigital, e-government, sistemas embebidos,sistemas de segurança, sistemas críticos, etc...
=⇒ Métodos actuais de desenvolvimento de
SIs desactualizados frente aos novos desafios
tecnicos e cientıficos
Mestrado DI-UBI, 17-10-2003 – p.3
Evolução dos Sistemas InformáticosSIs modernos = novos desafios
⇓
a
fiabilidade
correccao
seguranca
robustez
etc. . .
dos SIs como desafio central
Mestrado DI-UBI, 17-10-2003 – p.3
Engenharia de Software & Análise de Sistemas
• Identificação de algumas noções chaves,como a de ciclo de vida dum SI
• Produção: planeamento, análise,quantificação e gestão dos custos,manutenção, etc...
• Introdução de metodologia de produção, deexploração (etc...) do SI: =⇒ inıcio de rigor.
Mestrado DI-UBI, 17-10-2003 – p.4
Engenharia de Software & Análise de Sistemas
Exemplos: quantificação de custos deprodução
• Manutenção de um SI =2
3dos custos totais
• Conserto de um erro de especificação:esforço 20 vezes maior se detectado apósprodução do SI
Mestrado DI-UBI, 17-10-2003 – p.4
Inadequação do ciclo Detecção-Conserto
• Um erro na especificação pode implicar maisdo que um simples conserto (vidas humanas,impacto económico, confiança dos clientes,etc...);
• SIs em que o aparecimento de erro éinaceitável
Mestrado DI-UBI, 17-10-2003 – p.5
Inadequação do ciclo Detecção-Conserto
Mais uma vez:
SIs modernos = novos desafios
⇓
necessidade da fiabilidade como desafio central
Mestrado DI-UBI, 17-10-2003 – p.5
Alguns Factos e Números
Despite 50 years of progress, the softwareindustry remains years – perhaps decades –short of the mature engineering disciplineneeded to meet the needs of an information-agesociety.
W. Gibbs, Trends in Computing: Software’s Chronic Crisis
- Scientific American - 1994.
Mestrado DI-UBI, 17-10-2003 – p.6
Alguns Factos e Números
• comercialização = criação de um canal parabug reports.
• Impacto económico
• Ariane V : 2 biliões de $• Avaliação pelo NIST dos custos dos erros
em SIs na economia dos USA:1995 : 81 biliões de $1996 : 100 biliões de $2002 : 59.5 biliões de $
Mestrado DI-UBI, 17-10-2003 – p.6
Alguns Factos e Números
• Argumentos de comercialização:• ruptura de contrato por razões de falta de
garantias de fiabilidade (exemplo da IBM)
US Federal Aviation Agency : 8 biliões de $
DoD : 2 biliões de $
• confiança dos clientes=⇒ Intel e do Bug do Pentium:Impacto da perda de confiança dos clientemaior do que o impacto económico doconserto.
Mestrado DI-UBI, 17-10-2003 – p.6
Alguns Factos e Números
etc...
Mestrado DI-UBI, 17-10-2003 – p.6
Soluções?
Nao ha solucoes universais!
No entanto: soluções adaptadas e satisfatórias:• repensar e adaptar o ciclo de produção de SIs
de forma a integrar a fiabilidade como umrequisito central
=⇒ Common Criteria
Mestrado DI-UBI, 17-10-2003 – p.7
Soluções?
Nao ha solucoes universais!
No entanto: soluções adaptadas e satisfatórias:• integrar e utilizar métodos de “fiabilização”:
• Testes e Simulação• Métodos Formais
Mestrado DI-UBI, 17-10-2003 – p.7
Testes e Simulação
Para um determinado modelo do SI alvo, fornecer
um conjunto de dados representativos e comparar a
resposta com o resultado esperado.
Mestrado DI-UBI, 17-10-2003 – p.8
Testes e Simulação
Para um determinado modelo do SI alvo, fornecerum conjunto de dados representativos e comparara resposta com o resultado esperado.
=⇒ Nao existe teste satisfatorio:
exaustividade: geralmente impossível (conjuntode valores possíveis eventualmente infinito)
representatividade: em geral problemas ocorremquando os dados têm valores inesperados(i.e. não representativos).
Mestrado DI-UBI, 17-10-2003 – p.8
Testes e SimulaçãoLittlewood provou, em 1914 e à surpresa geral de todos,que a função
π(n) − li(n)
onde
li(n) =
∫
n
0
du/ln(u) e π(n) = numero de primos ≤ n
muda de sinal infinitamente.
Surpresa? sim, porque apesar de intensos testes sobre
valores chegando a 1010 (antes da aparição dos computa-
dores), nenhuma mudança de sinal foi detectada.
Mestrado DI-UBI, 17-10-2003 – p.8
Métodos Formais
The term formal methods refers to the useof mathematical modeling, calculation andprediction in the specification, design, analysisand assurance of computer systems andsoftware. The reason it is called formal methodsrather than mathematical modeling of softwareis to highlight the character of the mathematicsinvolved.
J. Rushby, Formal Methods and their Role in the Certification of
Critical Systems - SRI - 1995.
Mestrado DI-UBI, 17-10-2003 – p.9
Métodos Formais
• exaustividade: raciocínio formal (por oposiçãoa informal) sobre o conjunto dos valorespossíveis na sua globalidade
• rigor: bases matemáticas bem assentes• adequacao: solução avaliada como satisfatória
para a garantia de fiabilidade=⇒ Common Criteria
Mestrado DI-UBI, 17-10-2003 – p.9
Common Criteria
Reflexão conjunta de várias entidades norma-
tivas sobre a
{
necessidadedefinição
de um modelo
para a avaliacao da fiabilidade/seguranca dos SIs:
Norma ISO-15408 “Common Criteria”
Mestrado DI-UBI, 17-10-2003 – p.10
Common Criteria
Common Criteria = avaliacao da seguranca dos SIs:
elaboratecertifyevaluate adquire
products and goals
LabsCustomersCertification
InstitutesEvaluationDesigners
Mestrado DI-UBI, 17-10-2003 – p.10
Common Criteria
Common Criteria = avaliacao da seguranca dos SIs:
Certificação organizada em 7 níveis deconfiança (Evaluation Assurance Level)
Para os nível mais elevados (EAL5 a EAL7):• Entidade de certificação governamental
(independência da certificação)• Métodos Formais requeridos (rigor da
avaliação)
Mestrado DI-UBI, 17-10-2003 – p.10
Plano
• Contexto e Motivação
• Panorama dos formalismos e das ferramentas
• Conclusões
Mestrado DI-UBI, 17-10-2003 – p.11
O Problema Central
O problema central que os Métodos Formaispretendem resolver:
Garantir que um SI tenha um determinado (bom)comportamento
Mestrado DI-UBI, 17-10-2003 – p.12
O Problema Central
Garantir que um SI tenha um determinado (bom)comportamento
noção central de
{
modelo
especificacaopara levar o
objecto do discurso para a matematica.
Mestrado DI-UBI, 17-10-2003 – p.12
O Problema Central
Garantir que um SI tenha um determinado (bom)comportamento
Subdivisão em dois sub-problemas:
1. Garantias de comportamento: Como garantir/verificar aonível do modelo o comportamento desejado
2. Confronto “modelo - implementacao”:
(a) Como obter de um modelo uma implementaçãousufruindo desse comportamento?
(b) Como garantir que uma implementação tem omesmo comportamento que um modelo?
Mestrado DI-UBI, 17-10-2003 – p.12
Panorama dos formalismos e das ferramentas
Visita dos formalismos e das ferramentasorganizada em camadas de funcionalidades:
• Especificar e analisar modelos• Especificar e demonstrar propriedades• Especificar e derivar implementações• Especificar e transformar especificações
Mestrado DI-UBI, 17-10-2003 – p.13
Especificar e Analisar
Formalismos/linguagens para expressarmodelos/especificações.Benefícios imediatos:
• linguagens formais = rigor e sem ambiguidades
=⇒ obriga a uma reflexão aprofundada e a umacompreensão detalhada dos mecanismosmodelados (e.g. D. Syme, CISC/IBM)
=⇒ “esperanto” ideal para a documentação ecomunicação entre as diferentes partes envolvidasna produção do SI
Mestrado DI-UBI, 17-10-2003 – p.14
Especificar e Analisar
Formalismos/linguagens para expressarmodelos/especificações.Benefícios imediatos:
• no caso da existência de uma implementação doformalismo, observação directa do comportamentosem necessidade de implementação: prototipagem
• enquadramento formal propício ao raciocíniomatemático
Mestrado DI-UBI, 17-10-2003 – p.14
Máquinas de Estados Abstractos
• formalismos da família dos sistemas de transiçãobaseado nas noções de estado e de transformaçõesde estado,
• SI = máquina abstracta = conjunto de estados +conjunto de transições não determinísticas
• transição = condição de eleição + transformações aoestado da máquina
• Turing-equivalente
• implementações : ASM_Gopher, Sistema B
Mestrado DI-UBI, 17-10-2003 – p.15
Modelização por Autómatos
• Outro formalismo da família dos sistemas detransição
• transição = evento• formalismo particularmente adaptado para a
modelação do comportamento do SI alvo:hardware, SI concorrente, SI reactivo, SIcomunicante, protocolo etc...
Mestrado DI-UBI, 17-10-2003 – p.16
Teoria dos Conjuntos e das Categorias
• estado = conjunto + funções + relações• transição = invariantes + pre/post condições• formalismo particularmente expressivo e
modular• alvo de numerosas implementações : Z,
VDM, RAISE, SPECWARE, CHARITY,CAMILA, etc...
Mestrado DI-UBI, 17-10-2003 – p.17
Especificação Algébrica
• baseado nas álgebras “multi-sorted”• tipos de dados do SI alvo = conjuntos• funções do SI alvo =
• símbolos de funções introduzidos porassinaturas
• propriedades dos símbolos estabelecidospor axiomas
• implementações : OBJ, CLEAR, ACT-ONE
Mestrado DI-UBI, 17-10-2003 – p.18
Modelização Declarativa
Uma classe importante de formalismos:• Formalismos logicos : baseado na noção de
predicados de primeira ordem• tipos de dados do SI alvo = estrutura de
dados (simples) da linguagem alvo• função = descrição via propriedades
comportamentais• implementações: Prolog, λ-Prolog, etc...• animação e execução
Mestrado DI-UBI, 17-10-2003 – p.19
Modelização Declarativa• Formalismos logico-funcionais : baseado no
λ−cálculo (teoria das funções de ordem superior)
• tipos de dados do SI alvo = tipos de dados(arbitrariamente complexos) da linguagem alvo(tipos indutivos, dependentes, etc..)
• função = funções de ordem superior
• implementações:• linguagens: Scheme, SML, Haskell, OCaml,• sistemas de prova: ACL2, DECLARE, COQ, PVS,
HOL, ISABELLE etc...
• Possibilidade de animação e de execução
Mestrado DI-UBI, 17-10-2003 – p.19
Modelização Declarativa
• Sistemas de reescrita: baseada na noção deredução• tipos de dados do SI alvo = estrutura de
dados da linguagem alvo• função = descrição computacional via
equações• implementações: ELAN, SPIKE etc...• animação e execução
Mestrado DI-UBI, 17-10-2003 – p.19
Modelização Declarativa
• Semantica para as linguagens de programacao:família de formalismos adaptados para aexpressão matemática de linguagens deprogramação.• ambiente para a expressão de semânticas
(expressão dos símbolos e docomportamento semântico destes)
• animação e execução• implementações: Action-Semantics,
LETOS, ASF+SDF, Centaur, RML, etc...
Mestrado DI-UBI, 17-10-2003 – p.19
Especificar e Demonstrar
Garantir um comportamento:=⇒ animar ou executar é insuficiente=⇒ necessidade de demonstrar:verificacao formal
3 tipos de suporte a verificação formal (J.
Rushby):
Mestrado DI-UBI, 17-10-2003 – p.20
Especificar e Demonstrar
1 - Ferramentas que fornecem umenquadramento formal, não disponibilizamnenhum suporte adicional
• demonstração “manual”• demonstração válida se convencer a
comunidade
Mestrado DI-UBI, 17-10-2003 – p.20
Especificar e Demonstrar
2 - Ferramentas que fornecem um sistemaformal para a expressão rigorosa de raciocínios
• demonstração “manual”• uso exclusivo de linguagem formal para a
expressão da demonstração
Mestrado DI-UBI, 17-10-2003 – p.20
Especificar e Demonstrar
3 - Ferramentas fornecendo um sistema formale um suporte computacional para a expressãode demonstrações=⇒ Mais rigoroso (e.g. Lamport, etc...)i.e. no mesmo enquadramento:
• expressão de um modelo• expressão formal e verificação mecânica de
demonstrações de propriedades do modelo.
=⇒ Panorama dos sistemas de n ıvel 3
Mestrado DI-UBI, 17-10-2003 – p.20
Sistemas de Prova
sistema formal = sistema dedutivo
a variedade dos formalismos explica-se pelobalanço entre dois factores antagónicos porconsiderar:
expressividade logicaversus
automatizacao da deducao
Mestrado DI-UBI, 17-10-2003 – p.21
Demonstradores de Teoremas
Privilegia: automatizacao da deducaoVantagens:
• Após parametrização do motor de dedução, ademonstração é automática
• Possibilidade de raciocínio sobre conjuntosinfinitos (e.g. por indução)
Desvantagem: Nem tudo o que pretendemosexpressar pode ser expresso
Sistemas: Prolog, SPIKE ELAN, ACL2, etc...
Mestrado DI-UBI, 17-10-2003 – p.22
Sistemas de Prova InteractivaPrivilegia: expressividade logica (em geral lógicade ordem superior)Vantagens:
• Muitas propriedades/demonstraçõesprecisam dessa expressividade
• Raciocínio próximo do raciocínio matemáticostandard
Desvantagem: lógica indecidível =⇒intervenção do utilizador necessáriaSistemas: Coq, PVS, DECLARE, HOL,ISABELLE
Mestrado DI-UBI, 17-10-2003 – p.23
Verificação de modelos
• Abordagem alternativa aos sistemas de provacom muitas aplicações bem sucedidas.
• Técnica de verificação propriedades de SImodelados como sistemas (concorrentes) deestados finitos (e.g. autómatos)
• Propriedades esperadas expressas porfórmulas de uma determinada lógica temporal
• Verificação de propriedade traduzida numadeterminada exploração do sistema detransição
Mestrado DI-UBI, 17-10-2003 – p.24
Verificação de modelos
Vantagens:
• Demonstração automática
• Exibição de um contra-exemplo em caso de erro
Desvantagem:
• Problema da explosão do espaço de estado(crescimento exponencial do grafo de estado emrelação ao tamanho do sistema modelado)
• Não sabe lidar com conjuntos infinitos
Sistemas: SMV, Murphy, SPIN, Kronos, Design/CPN etc...
Mestrado DI-UBI, 17-10-2003 – p.24
Anotações de programas e Lógica de Hoare
Última abordagem a prova de programasConsiste em:
=⇒ Anotações lógicas do programa fonte
=⇒ construção automática de um modelo w.r.t. semânticaaxiomática da linguagem alvo
=⇒ suporte para a demonstração de propriedades(delegação da demonstração a verificadores demodelos, sistemas de prova etc...)
Sistemas: fortemente ligados ás linguagens alvo.
Para Java: JML, LOOP tool, ESC/JAVA, Bandera, Jive etc...
Mestrado DI-UBI, 17-10-2003 – p.25
Especificar e Derivar
2o subproblema = Obter uma implementacao de umaespecificacao aprovada
• a própria linguagem de especificação é umalinguagem de programação =⇒ Q.E.D.
• Refinamento• Extracção
Mestrado DI-UBI, 17-10-2003 – p.26
Refinamento
técnica que permite a síntese “passo a passo”de implementações a partir de especificações.
=⇒ 1 passo = uma escolha de implementação(e.g. um conjunto por uma lista ligada)
=⇒ cada passo tem de ser formalmentejustificado (e.g. não altera comportamento)
Sistemas: Z, VDM, B, SPECWARE
Mestrado DI-UBI, 17-10-2003 – p.27
Extracção
Lógica inerente aos sistemas de prova assistida=
logica intuicionista =⇒ Isomorfismo de Curry-Howard
λ-calculo lógica programação
tipo enunciado lógico especificaçãoλ-termo demonstração programa
Mestrado DI-UBI, 17-10-2003 – p.28
Extracção
Seja T o teorema:
∀x, y ∈ N.∃q, r ∈ N.(y = (q × x + r) ∧ 0 ≤ r < x)
Uma demonstração de T é uma funcao quecalcula o par (q, r) que testemunha da validadede T =⇒ Q.E.D.
Sistemas: COQ
Mestrado DI-UBI, 17-10-2003 – p.28
Especificar e Transformar
Necessidade de mecanismos de transformaçãode modelos (e.g. definir uma variação, umasimplificação, extensão etc...) para expressarprovas complexas, modulares em especificaçõesde tamanho grande etc...
Exemplo : Abstraccao de especificacoes para focara especificação sobre um determinadocomportamento alvo da demonstração
Sistemas: ASF+SDF, JaKarTa
Mestrado DI-UBI, 17-10-2003 – p.29
Potencial das Combinações
Não existe nenhuma ferramenta que permiteresolver de forma global o problema central
=⇒ pertinência das plataformas de especifica-
ção permitindo a colaboração de vários métodos
formais: JaKarTa
Mestrado DI-UBI, 17-10-2003 – p.30
Uma contribuição : JaKarTaObjectivo: permitir um tratamento satisfatório e global:
• uma arquitectura centrada numa plataforma deespecificação própria;
• mecanismos de comunicação com diferentes métodosformais (sistemas de prova, demonstradores deteoremas, linguagens de programação);
• mecanismos de administração e automação dedemonstrações (em COQ);
• mecanismos de transformações de especificação;
• mecanismos de prova de correcção dastransformações realizadas.
Mestrado DI-UBI, 17-10-2003 – p.31
Plano
• Contexto e Motivação
• Panorama dos formalismos e das ferramentas
• Conclusoes
Mestrado DI-UBI, 17-10-2003 – p.32
Algumas aplicações bem sucedidas
Muitos exemplos:• hardware, protocolos, redes, SOs, sistemas
críticos, plataformas de execução, software,etc...
• Áreas de aplicações:• Aviação (NASA, FAA, ARIANE, etc...),• Caminhos de ferro (Metro, etc...)• Sistemas nucleares• Sistemas médicos• Sistemas embebidos
Mestrado DI-UBI, 17-10-2003 – p.33
Algumas aplicações bem sucedidas
Emergência de um mercado “aliciante” (i.e. $$!)ainda por liderar (por quanto mais tempo?):
Intel, Microsoft, IBM, NASA, Esterel Technology,
Prover Technology, Compaq/HP, SIBS (pt), Side-
reus (pt)
Mestrado DI-UBI, 17-10-2003 – p.33
Algumas aplicações bem sucedidasUma contribuição =⇒ verificação formal da plata-formaJavaCard (em conjunto com G. Barthe, G. Dufay):
Definiçãopioneira de uma metodologia paraautomaticamente obter da Especificacao de JavaCard e daDemonstracao de (citação de Milner)
Well-typed (JavaCard) Programs cannot gowrong
uma implementacao da plataforma e de um modulo de
verificacao estatica de programas (BCV) demonstrados correc-
tos
Mestrado DI-UBI, 17-10-2003 – p.33
Conclusões e Perspectivas
Caso da verificação formal do projecto CISC daIBM (Huxley Park- UK & Oxford):
• de 800 000 linhas de código, 268 000reescritas, 37 000 via Z (só especificação,sem provas)
• resultados:• custos de desenvolvimento −9%• 2, 5 vezes menos de bugs e os detectados
foram menos importantes.
Mestrado DI-UBI, 17-10-2003 – p.34
Conclusões e Perspectivas
• Importância estratégica dos Common Criteria cadavez maior
• Perspectivas: 2 eixos
• Desenvolvimento conceptual e técnico de novassoluções (formalismos e ferramentas)
• A tendência actual: Utilização cada vez maisintensiva dos métodos formais (caso FORMAVIE)
Mestrado DI-UBI, 17-10-2003 – p.34
Conclusões e Perspectivas
• Importância estratégica dos Common Criteriacada vez maior
=⇒
- competencia valiosa e procurada
- o informatico, alem de saber produzir SIs,
devera saber valida-los
Mestrado DI-UBI, 17-10-2003 – p.34
That’s all folks
Obrigado pela atencao!
Mestrado DI-UBI, 17-10-2003 – p.35