Confiabilidade de software Técnicas de melhoria de confiabilidade de software
Carlos Eduardo Monteiro de Sá Péricles Nunes da Silva Robson Moreno da Silva
Técnicas de Melhoria de Confiabilidade de Software Abordagem
Capacidade de Supressão de Falhas
Programação de N versões (NVP)
Total
Alto Custo
Blocos de Recuperação (RB)
Total
Auditoria de Software (AS)
Parcial
Ba ix o Cu sto
Supervisão de Software (SS)
Pequena
Processo de Recuperação de Erros Objetivo
üEstratégia Simples üCapaz de Lidar com Múltiplos erros
Tipos de Exceções
Processo de Recuperação de Erros Requisição de Serviço
Resposta Normal
Exceção de Interface Exceções de Falha Retorno ao Normal
Atividade Normal
Requisição de Serviço
Tratamento de Exceção
Exceções Locais Resposta Normal
Exceções de Falha Exceção de Interface
Processo de Recuperação de Erros Requisição de Serviço
Resposta Anormal
Resposta Normal
TE
Controlador
Tratador de Execeções
Juiz
V1
Requisição de Serviço
TE1
V2
Resposta Normal
TE2
Vn
Resposta Anormal
TEn
Recovery Blocks
lhas de determinado componente de software tenham
Assegurar Pela Senão pela
Senão pela Senão erro
teste de aceitação primeira alternativa segunda alternativa . . . alternativa n
im
Recovery Blocks Exceção de Falha Saída
Descartar o Checkpoint
Positivo Falhou Executar o teste de aceitação
Restaurar o Checkpoint
Sinal de Exceção Executar a Alternativa Não
Estabelecer o Checkpoint
Sim
Existe uma nova alternativa & o prazo não expirou?
RECOVERY BLOCK
Entrada
Recovery Blocks Po ssíve is Fa lh a s
N – Version Programming Pro g ra m
a çã o d e N -V e rsõ e s; N m a io r o u ig u a la 2 ; To d a s a s ve rsõ e s d e ve m p a rtir d a m e sm a e sp e cifica çã o in icia l; V e rsõ e s exe cu ta d a s p a ra le la m e n te o u se q ü e n cia lm e n te ; Tra b a lh a co m u m siste m a d e vo ta çã o ( algoritmo de decisão );
N – Version Programming
Versão 1 ENTRADA
Versão 2
Versão N
Algoritmo de Decisão SAÍDA
NVP: Pré-Requisitos
NVP
Linguagens diferentes
Algoritmos diferentes
Equipes diferentes
Compiladores diferentes
NVP: Algoritmo de Decisão D
e ve se r extre m a m e n te co n fiá ve l; U su a lm e n te e le g e a re sp o sta m a is fre q ü e n te ; Pa ra 2 ve rsõ e s o siste m a é e n ce rra d o e m ca so d e d ive rg ê n cia ; R e su lta d o é a va lia d o e re to rn a d o p a ra ve rsõ e s e rrô n e a s; U so co n ju n to d e te ste s d e a ce ita çã o .
NVP: Algoritmo de Decisão
Comparação de votos
Ponto flutuante
Múltiplas saídas
Comparação consistente
NVP: Principais Características
Saídas sempredecorretas Mascaramento falhas
Custo elevado
Auditora de Software Grupo
ou individual (um ou mais entrevistados); Procedimentos, politicas e requisitos; ◦ Registro e fatos; Trata de não-conformidades;
Auditora de Software Planejando:
◦ ◦ ◦ ◦ ◦
Objetivos; Não conformidades; Produto ou processo?; Como será realizada; Cronograma.
Fre q ü ê n cia d e p e n d e d o p ro je to o u o rg a n iza çã o .
Auditora de Software Durante:
◦ Questionar; ◦ Identificar melhorias e boas práticas; ◦ Solicitar evidencias das informações pelos entrevistados. Depois:
◦ Confirmar as não-conformidades identificadas; ◦ Relatório; ◦ Compartilha o relatório.
Auditora de Software Pode-se
utilizar métricas:
◦ # não-conformidades; ◦ # auditorias planejadas X # auditorias realizadas; ◦ # não-conformidades fechadas por mês. Software
de auxilio ao planejamento e execução de auditorias:
Auditora de Software
Supervisão de Software Sistema
sendo monitorado; Detectar falhas no estagio operacional; Sistema consistente quanto as CUSTO MENOR especificações;
+
SEM OUTRAS VERSÕES Metodos: ◦ Inserir sinais de entrada: analisar sinais de saída; ◦ Feito por um software supervisor; ◦ Relato imediato de falhas.