Vous êtes sur la page 1sur 47

Confiabilidade de Software

Uma Viso Geral


VI Workshop Anual do MPS (WAMPS) 2010 Odair Jacinto da Silva

A IN3 Software uma empresa sustentada por trs pilares: Interao, Inspirao e Inovao. Na base destes pilares est o relacionamento com clientes. Acreditamos que solues de negcios inovadoras surgem a partir do entendimento das necessidades de nossos clientes, alavancadas pela tecnologia disponvel mais adequada capacidade de investimento de cada empresa. Nossa misso identificar, capacitar, entregar e manter solues de negcios com a tecnologia necessria e adequada para nossos clientes. A IN3 Software desenvolve solues de gesto de relacionamento com clientes (CRM), solues para gesto e planejamento de vendas, gesto empresarial (ERP). Alm de contarmos com Fbrica de Software avaliada MPS.BR, Fbrica de Teste de Software, consultoria em teste de software e ciclo de vida de processos de desenvolvimento de software.

USS Yorktown, SmartShip


Membro da tripulao digitou o valor 0 em um campo causando um erro de diviso por zero desligando os motores. Ficaram a deriva por 2h 45m.

Ariane 5 Flight 501


Cdigo reutilizado do Ariane 4 A falha ocorreu durante a execuo de uma converso de dados de um nmero de 64 bits em ponto flutuante para um inteiro de 16 bits com sinal. Custo: > US$370 milhes (valores de 1996)

Mars Polar Orbiter

Perda da Mars Polar Orbiter: Em 1999, o satlite foi destrudo devido a uma confuso no uso do sistema de medida, a equipe da Terra fez uso do Sistema Imperial (Ingls) para calcular os parmetros de insero do dispositivo na atmosfera Marciana enquanto este realizava clculos no sistema mtrico.

Precisa de alguma coisa mais visual?

Cuidado com seu prximo carro...

Sistema de rdio e navegao: mais de 20.000.000 de linhas de cdigo....

Qualidade de Software
Funcionalidade A confiabilidade definida como a probabilidade Confiabilidade de que o programa no falhe em um dado intervalo Eficincia de tempo, num dado ambiente. Engenharia de Confiabilidade de Software Portabilidade uma medida importante para decidir sobre a definida como o estudo quantitativo do Usabilidade comportamento de um software com respeito liberao do software. Manutenibilidade requisitos dos usurios. confiabilidade dos A probabilidade de falha serve tambm como um preditor til da confiabilidade corrente para o software em operao.

Modelos de Confiabilidade de SW
Um modelo de confiabilidade de software especifica a forma geral da dependncia do processo de falhas sobre os fatores que a afetam:
introduo de defeitos, remoo de defeitos e ambiente de operao.

Todos os modelos de confiabilidade de software so de natureza probabilstica -> tentam especificar a probabilidade de falhas no software.

Modelos de Confiabilidade de SW
Podem expressar:
Nmero mdio de falhas observadas num ponto no tempo. Nmero mdio de falhas num intervalo de tempo. A intensidade de falhas num ponto no tempo.

Caractersticas Bom Modelo


Obter boa predio para o comportamento futuro. Ter forma funcional simples. Amplamente aplicvel. Baseado em suposies concretas.

Classificao dos Modelos


Implante de defeitos. Baseado no domnio de dados. Baseado no domnio de tempo. Baseado em cobertura de critrios de teste.

Modelos Baseados no Domnio do Tempo


Essa abordagem utiliza o tempo de ocorrncia entre falhas ou o nmero de falhas ocorridos num intervalo de tempo, para se modelar o processo de falhas no software. Em geral, os modelos podem ser utilizados para predizer o tempo at a ocorrncia da prxima falha ou o nmero esperado de falhas no prximo intervalo de tempo.

Exemplos de Modelos Baseados no Domnio do Tempo

Exemplificando o uso de modelos baseados no domnio do tempo com apoio de uma ferramenta...

INPUT
Falhas no software t1 t2

Sada

Programa

tn

{ { { {

{ { { {

xx x xx x
PERIODO 1

xx x

PERIODO 2

PERIODO 3

PERIODO 4

Tempo

Dados obtidos no processo de teste: Nmero de falhas/perodo : {6,4,2,3,1,...} ou Tempo entre falhas { t1, t2, ... tn}

Statistical Modeling and Estimation of Reliability Functions for Systems (Software, Hardware & Systems)

Outra Ferramenta
CASRE Computer-Aided Software Estimation Criado pelo Jet Propulsion Laboratory (JPL)

http://www.openchannelsoftware.com/order s/index.php?group_id=250

Tempo para a prxima falha

Suposies dos Modelos


Tempo entre falhas independente. Defeitos so corrigidos imediatamente. ...e nenhum defeito novo introduzido. Taxa de falhas diminui com o tempo (com o progresso dos testes). Taxa de falhas proporcional ao nmero de defeitos que restam no software. Confiabilidade = f(nmero de defeitos restantes). Tempo utilizado como base para a taxa de falha. O teste representativo do perfil operacional.

Modelos Baseados na Cobertura de Critrios de Teste


Tempo no o nico fator que deveria ser considerado nos modelos de confiabilidade de software. Experimentos indicam haver uma correlao positiva entre o nmero de defeitos removidos e a cobertura de cdigo. O efeito da saturao do critrio de teste deve ser considerado.

Modelos Baseados na Cobertura de Critrios de Teste


Utilizam, como parmetro, a informao da cobertura obtida pelo critrio de teste, por exemplo:
Todos os arcos Todos os usos

Diversos modelos tm sido propostos no entanto faltam resultados que mostram sua robustez.

Como Medir a Cobertura?


Dados de Teste Software

POKETOOL

R1

R2

R3

R4

Rn

sr

Sr

Dois Modelos de Confiabilidade Baseados em Cobertura


Binomial Software Reliability Model Based on Coverage (BMBC)

Infinite Failure Software Reliability Model Based on Coverage (IFMBC)

Perfil Operacional
Conjunto de operaes que um software pode executar com sua probabilidade de ocorrncia. A forma como o software utilizado afeta a confiabilidade percebida por seus usurios. A confiabilidade do software pode no ser a mesma para diferentes perfis operacionais. A confiabilidade de software dependente do perfil operacional Os modelos propostos so robustos variao de perfil operacional?

...

...

...

Cobertura de Cdigo
Operational Profile 1 Operational Profile 2

...........
Operational Profile 3

...........

..........

Confiabilidade Estimada para BMBC

OP1

OP2

OP3

Confiabilidade Estimada para IFMBC

OP1

OP2

OP3

Qualidade Importante
H evidncias de que a capacidade preditiva dos modelos BMBC e IFMBC no afetada pela variao do perfil operacional.

Leituras

Referncias
http://spectrum.ieee.org/green-tech/advanced-cars/this-car-runs-on-code http://www.slingcode.com/smerfs/ http://www.openchannelsoftware.com/orders/index.php?group_id=250 Crespo, A. N.; Jino, M.; Pasquini, A. and Maldonado, J. C., A Binomial Software Reliability Model Based on Coverage of Structural Testing Criteria, Empirical Software Engineering, Vol. 13, Issue 2, April 2008. Crespo, A. N.; Jino, M.; Pasquini, A. and Maldonado, J. C., Applying Code Coverage Approach to an Infinite Failure Software Reliability Model, XXIII Simpsio Brasileiro de Engenharia de Software (SBES), 2009, Fortaleza-CE, Brasil. Chaim, M. L., POKE-TOOL Uma Ferramenta para Suporte ao Teste Estruturado de Programas Baseado em Anlise de Fluxo de Dados. Tese de Mestrado, DCA/FEE/UNICAMP Campinas, SP, Abril, 1991. http://poketool.iv.org.br/portal Silva, O. J. et al, Sensitivity of Two Coverage-Based Software Reliability Models to Variations in the Operational Profile, IV SSIRI 2010, Singapore, June 2010. Yang, Q., A Survey of Coverage Based Testing Tools, AST 2006, Shangai, China.

Obrigado! osilva@in3software.com

Vous aimerez peut-être aussi