• Nenhum resultado encontrado

ENGENHARIA CONFIABILIDADE DE SOFTWARE

N/A
N/A
Protected

Academic year: 2021

Share "ENGENHARIA CONFIABILIDADE DE SOFTWARE"

Copied!
35
0
0

Texto

(1)

ENGENHARIA CONFIABILIDADE

ENGENHARIA CONFIABILIDADE

DE SOFTWARE

DE SOFTWARE

Rivalino Matias Jr.

RIVALINO@K4B.COM.BR

(2)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Agenda

• Contextualização;

• A “Física da Falha” de Software;

• Introdução à Engenharia de Confiabilidade de

Software;

• Estudo de Caso Experimental;

• Considerações Finais.

(3)

Contextualização

Parte I

(4)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Contextualização

• Importância do Software:

– Cada vez mais os processos da sociedade se tornam

dependentes

de sistemas computacionais;

– Em virtude desta dependência a

confiabilidade

destes sistemas é um atributo essencial;

– Falhas de software podem acarretar danos que

variam de fatos irrelevantes até catastróficos

;

 Ex. Therac-25, Ariane-5, Patriot.

Introdução

(5)

Contextualização

• Caso Therac-25:

– De 1985 – 1987 seis pessoas foram inadequadamente expostas a níveis elevados de radiação durante seus tratamentos com o equipamento Therac-25;

– Três dos pacientes morreram; – A causa do problema foi uma

falha no software de controle do equipamento.

Introdução

(6)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Contextualização

• Caso Ariane-5:

– Em 4 de junho de 1996 o foguete não tripulado Ariane 5 explodiu quarenta segundos após o seu lançamento.

– O custo do projeto foi de US$ 7 bilhões e o equipamento destruído de US$ 500 milhões;

– A causa do problema foi uma falha no software de controle inercial do foguete.

Introdução

(7)

Contextualização

• Caso Patriot:

– 25 de fev. de 1991 (guerra do Golfo) uma bateria antiaérea Patriot falhou ao interceptar mísseis Sculd Iraquianos

contra um acampamento do exército norte americano. – Esta falha provocou a morte

de 28 soldados.

– A causa do problema foi uma falha no software de controle do radar da bateria.

Introdução

(8)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Contextualização

• Excel 2007:

– Falha descoberta em final de Setembro de 2007;

– Aparentemente qualquer fórmula que resulte em 65535 ou 65536 ocasiona em valores incorretos (MS Article ID 943075)

• Ex. =850*77.1  MS 2007 = 100.000 (Correto = 65535)

– Já foi disponibilizada a correção.

Introdução

(9)

Contextualização

• A necessidade por maior confiança nos sistemas

fez emergir o conceito de dependabilidade

(ISO 9000-4);

– A dependabilidade é um dos aspectos da qualidade de um sistema computacional;

– Esta área se preocupa com a confiança no funcionamento dos sistemas (hardware e software);

– A dependabilidade de um sistema computacional é a

habilidade deste sistema em fornecer um serviço no qual seu usuário pode, justificadamente, ter confiança no seu funcionamento.

Introdução

(10)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Contextualização

IntroduçãoIntrodução

Árvore de Dependabilidade

Á

Á

rvore de

rvore de

Dependabilidade

Dependabilidade

Atributos Disponibilidade (availability) Confiabilidade (reliability) Segurança (safety) Integridade (integrity) Manutenibilidade (maintainability) Dependabilidade Meios

Prevenção de faltas (fault prevention) Tolerância a faltas (fault tolerance) Remoção de faltas (fault removal) Previsão de faltas (fault forecasting) Faltas (fault)

Erros (error) Falhas (failure) Ameaças

(11)

Física da Falha de

Software

Parte II

(12)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Taxonomia

• Falha de software é uma das três ameaças à

dependabilidade computacional:

– Falha (failure): é um evento que ocorre quando a

função realizada pelo sistema não está de acordo com a correta especificação que foi definida para a sua

execução;

– Erro (error): o desvio do serviço (entregue) em relação à sua correta especificação;

– Falta (fault): a suposta causa de um erro.

Falhas de Software

(13)

“Física da Falha”

• Estes três elementos possuem uma relação causal

denominada de cadeia fundamental da dependabilidade.

• Após a ativação de uma falta, um erro pode se propagar entre os diversos componentes de um sistema antes de causar uma falha;

• A falha ocorrerá quando o erro for percebido pelo usuário do sistema como um desvio da função especificada.

Falta

Falta AtivaçãoAtivação ErroErro PropagaçãoPropagação FalhaFalhaCausaçãoCausação FaltaFalta

Falhas de Software

(14)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

“Física da Falha”

Propaga

Propagaçãção do Erroo do Erro

Status do Serviço

do Componente A Falha Serviço

Incorreto Serviço Correto Falha Serviço Correto Falta Interna Dormente Erro Erro Erro Ativação Falta Exter na Propagação Propagação Interface de Serviço Propagação Erro de Entrada Propagação Erro Propagação Erro Componente B Componente A Fronteira Status do Serviço do Componente B S er vi ço In co rr et o Interface do Serviço Falhas de Software Falhas de Software

(15)

Faltas de Desenv. Faltas Físicas Faltas de Interação Faltas Operacionais Faltas de Desenv. Faltas Internas Faltas Externas Faltas Naturais Faltas Humanas Faltas de Hardware Faltas de Software Faltas Ñ Maliciosas Faltas Maliciosas Faltas Ñ Deliberadas Faltas Deliberadas Faltas Acidentais Faltas p/ Incomp. Faltas Permanentes Faltas Transientes xe m pl os 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Bug de Software Bombas Lógicas Errata de Hardware Defeitos de Produção Deterioração Física Interferên-cia Física Erros de Entrada Vírus & Tentativas de Intrusão Classes de Faltas Classes de Classes de Faltas Faltas

(16)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Engenharia de Confiabilidade

de Software: Introdução

Parte III

(17)

Eng. de Confiabilidade de Software

• Definição

– Confiabilidade de Software é a probabilidade

do software operar livre de falhas por um

determinado tempo em um determinado

ambiente.

– Ex: Um Sistema A tem confiabilidade de 0.92

(92%) por 8 horas quando atendendo uma carga

de trabalho de até 70% de sua capacidade.

(18)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Eng. de Confiabilidade de Software

• Modelagem

– A modelagem e análise de confiabilidade de um

sistema envolve diversos aspectos relacionados

à:

• Tempos de operação (lifetime ou uptime);

• Tempos de Falha (failure times);

• Cargas de trabalho (workload profiles);

• Aspectos ambientais (environment)

(19)

Eng. de Confiabilidade de Software

• Funções Confiabilidade e Probabilidade

de Falha: R(t) e F(t)

• Função Taxa de Falha - h(t)

• Tempo Médio até a Falha (MTTF = θ)

)

(

)

(

)

(

t

R

t

f

t

h

=

=

( dt

)

θ

∞ −

=

=

t

dt

t

f

t

F

t

R

(

)

1

(

)

1

(

)

(20)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Eng. de Confiabilidade de Software

• Exemplos de Modelos p/ Confiabilidade

de Software e suas categorias:

– Exponential:

• Musa (1975), Littlewood(1983), outros.

– Weibull:

• Schick-Wolverton(1973), Wagoner(1973), outros.

– Gamma:

(21)

Eng. de Confiabilidade de Software

• Outras categorias de modelos são comumente

usadas:

– Pareto;

– Geometric;

– Inverse Linear;

– Logarithmic;

– Beta;

– Chi-square (χ

2

)

(22)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

)

exp(

)

(

t

t

f

=

λ

λ

,

λ

é a taxa de falha do sistema.

)

exp(

)

(

1

)

(

1

)

(

0

t

dt

t

f

t

F

t

R

t

λ

=

=

=

Qual a Confiabilidade de um sistema com um

MTTF=500 horas após 24 horas de execução ?

Resposta:

953

0

500

24

24

)

exp

.

(

=

 −

=

R

)

exp(

)

(

)

(

)

(

t

F

t

f

t

dt

t

R

t

λ

=

=

=

0

1

1

λ

1

=

MTTF

(23)

Exemplo de análise de Confiabilidade de um

Sistema Servidor Web:

0 2,00 0,40 0,80 1,20 1,60 1781,00 1782,80 1784,60 1786,40 1788,20 1790,00

Probabi l i ty Densi ty Functi on

Time, (t) f (t ) W eibull Dat a 1 W 3 M LE - SRM M ED F = 50 / S= 0 f( t) β η γ β η γ η β       −Τ − −       −Τ = Τ e f 1 ) (

(24)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

Exemplo de análise de Confiabilidade de um

Sistema Servidor Web:

1783,4 1783,5 1783,6 1783,7 1783,8 1783,9 1784,0 1784,1 1784,2 1784,3 1784,4 T ime-to-Fail t 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 R e li a b il it y R (t )

)

(

1

)

(

t

F

t

R

=

(25)

Estudo de Caso

Parte IV

(26)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

• Este estudo experimental objetivou avaliar falhas causadas por degradação do software Apache Web Server;

• Pesquisas anteriores comprovaram a existência dos sintomas de degradação de memória neste produto;

• Este software atualmente detém o maior marketshare de servidores web do mundo;

• A infra-estrutura de grandes portais web, tais como

Banco do Brasil, CNN, Terra, dentre outros, atualmente usam este software.

(27)

• A seleção da carga de trabalho foi baseada em trabalhos da literatura e de um projeto de experimentos (DOE) para identificar os fatores com maior influência sobre a

degradação do servidor web;

• A variável monitorada (resposta) foi o consumo de memória principal do servidor web;

• A estratégia de experimentação considerou um projeto fatorial 2k;

• Os resultados apontaram o tamanho de página como um dos fatores com maior influência sobre a degradação da

(28)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

• A partir dos resultados do DOE adotou-se como

principal fator de estresse o tamanho de página;

• Para a realização dos ensaios definiu-se o seguinte

plano experimental:

– Plano tradicional c/ 3 níveis de estresse;

– Aplicação da carga de estresse de forma constante.

(29)

• Consumo de memória para os três cenários:

Resultados

Estudo ExperimentalEstudo Experimental

D Dff h tt p d s iz e in c re a s e (M B )

num ber of requests (in cycles) 0 100 200 300 400 500 0 5 10 15 20 25 30 35 S 1 S 2 S 3 h tt p d s iz e in c re a s e (M B )

num ber of requests (in cycles) 0 100 200 300 400 500 0 5 10 15 20 25 30 35 S 1 S 2 S 3 Lotes de 1650 requisições Lotes de 1650 requisições D egra da çã o da m em ór ia d o se rvid or D eg ra da çã o da m em ór ia do se rv id or

(30)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

• No nível de estresse S3 foi possível obter os tempos

de falha;

• Nos demais níveis foi necessário o ajuste de um

modelo de regressão não-linear para estimar os

tempos de pseudo-falha;

• Como resultado foram obtidos 8 tempos de falha e 16

tempos de pseudo-falha.

(31)

• A amostra de dados foi utilizada para a obtenção da função densidade de probabilidade - f(x)

• O modelo mais adequado neste caso foi baseado na distribuição Lognormal:

Resultados

Estudo ExperimentalEstudo Experimental

β η γ β

η

γ

η

β

      −Τ − −





 −

Τ

=

Τ

e

f

1

)

(

(32)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR Estudo Experimental Estudo Experimental

Função Confiabilidade R(t)

0 1 0.20 0.40 0.60 0.80

0 4000 8000 1.2E+4 1.6E+4 2.0E+4

Reliability vs Time Time (cycles) R e lia b ili ty 0 1 0.20 0.40 0.60 0.80

0 4000 8000 1.2E+4 1.6E+4 2.0E+4

Reliability vs Time Time (cycles) R e lia b ili ty

(33)

Estudo Experimental

Estudo Experimental

Confiabilidade vs. Superfície de Estresse

Tamanho de páginas

Tamanho de páginas

(34)

Rivalino Matias Jr. –RIVALINO@K4B.COM.BR

• A grande e crescente dependência da sociedade

moderna em relação aos Sistemas Computacionais

exige destes sistemas um alto nível de confiabilidade;

• A Engenharia de Software tem papel fundamental na

busca por sistemas mais confiáveis, pois oferece o rigor

e o formalismo necessários aos processos de

desenvolvimento;

• A responsabilidade dos profissionais que projetam e

desenvolvem sistemas computacionais é tão grande ou

maior em relação àqueles que operam tais sistemas.

(35)

Obrigado pela Atenção !

Obrigado pela Atenção !

Rivalino Matias Jr.

Referências

Documentos relacionados

Inicio : palavra do Presidente do Einführung : Ansprache des Vorsitzenden der Associação Comercial e Industrial de Juiz de Fora. Aloísio José

O banco de dados utilizado para teste também foi devidamente validado pelo teste CPT e os resultados obtidos pela RNA, treinada pelo método resiliente de retro propagação de

• Cobertura geral – Neste caso, o AP é posicionado em um ponto qualquer e são efetuadas medidas em todo o ambiente para verificar os efeitos que possam influenciar

5 - Estat´ısticas das Quest ˜oes da Prova e do Question ´ario do Estudante Para favorecer a avaliac¸ ˜ao do desempenho dos alunos do curso desta IES, as Tabelas a seguir

CUADRO DE MANIOBRA PARA ACCIONADOR MONOFÁSICO MANUAL DEL INSTALADOR ARMOIRE DE COMMANDE POUR ACTIONNEUR MONOPHASÉ MANUEL DE L´INSTALLATEUR CONTROL PANEL FOR SINGLE PHASE

- (EA-112) SOCIEDADE AMADORA NACIONAL DE ORNITOLOGIA- A/C JOSÉ AP... SERRANAS DE CRIADORES DE CANÁRIOS

Deste modo, o Girls Rock Camp Brasil (em Sorocaba) e o Girls Rock Camp Porto Alegre são acampamentos que atraem diversas mulheres (musicistas, oficineiras, ativistas) de partes

lhe o raciocínio, fazê-lo perceber as várias facetas de um problema, é ensiná-lo a con- siderar as coisas de outros pontos de vista, a levar em conta os argumentos alheios. A