Sunteți pe pagina 1din 7

Confiabilidad de Software

Basndonos en ANSI, definimos confiabilidad de software como la probabilidad


de una operacin de software de estar libre de fallos por un periodo especifico de
tiempo en un entorno especfico. Aunque la confiabilidad del software es definida
como una funcin probabilstica, con nocin temporal, debemos notar que, a
diferencia del hardware, la confiabilidad del software no es una funcin directa del
tiempo.
La confiabilidad del software es un atributo importante de la calidad del
software, junto con la funcionalidad, usabilidad, servicio, capacidad, instalabilidad,
mantenibilidad y documentacin. La confiabilidad es difcil de alcanzar, porque la
complejidad del software tiende a ser alta. En cualquier sistema con un alto grado de
complejidad, incluyendo el software, ser muy difcil alcanzar un cierto nivel de
confiabilidad considerando el rpido crecimiento del tamao de los sistemas y la
facilidad de realizarlo mediante la mejora de software.
Mecanismos de fallos de software
Las fallas de software pueden deberse debido a errores, ambigedades,
descuidos o mal interpretacin de lo que el software est dispuesto a satisfacer, falta
de cuidado o incompetencia en la codificacin, testeo inadecuado, incorrecto; uso
inesperado del software u otros problemas que no se pueden prever.
Los fallos en el software son fallas de diseo, las cuales son mucho ms difciles
de visualizar, clasificar, detectar y dominar.
Una lista parcial de caractersticas distintas del software comparadas con el
hardware puede ser la siguiente:

Causas de fallos: Los defectos de software son principalmente defectos de


diseo.

Desgaste: El software no tiene energa relacionada al proceso de desgaste.


Los errores pueden ocurrir sin advertencia.

Conceptos de sistemas reparables: Reinicios peridicos pueden ayudar a


arreglar problemas de software.

Dependencia de tiempo y ciclo de vida: Confiabilidad del software no es una


funcin de tiempo operacional.

Factores de entorno: No afecta la confiabilidad del software, excepto que


afecten las entradas del programa.

Prediccin de confiabilidad: La confiabilidad del software no puede ser


predicha mediante modelos fsicos, ya que depende nicamente de los
factores humanos en el diseo.

Redundancia: No puede mejorar la confiabilidad si componentes idnticos


son usados.

Interfaces: Las interfaces son puramente conceptuales.

Motivadores de tasas de fallo: Usualmente no son predecibles desde


anlisis de sentencias separadas.

Construccin de componentes estndar: Partes estndar bien


comprendidas y exhaustivamente probadas pueden ayudar a la
mantenibilidad y confiabilidad. Pero en la industria del software, no se ha
observado esta tendencia. La reutilizacin de cdigo ha existido desde hace
algn tiempo, pero en un grado muy limitado. Estrictamente hablando, no
existen piezas estndar para el software a excepcin de algunas estructuras
de lgica.

Modelos de Confiabilidad de Software


Los modelos de confiabilidad surgieron debido a intencin de tratar de
entender el porqu un software falla, y trata de cuantificar la confiabilidad del
software. Se han desarrollado ms de 200 modelos a partir de los aos 1970s, pero el
cmo cuantificar la confiabilidad de un software sigue permaneciendo irresuelta.
De los modelos creados, ninguno ha logrado poder ser usado en todas las
situaciones. Ningn modelo es completo o representativo. Un modelo puede trabajar
para un de forma correcta para un software, mientras que para otros puede causar
problemas.
a) Partes de los modelos:

Hiptesis
Las hiptesis que presentan son las siguientes:
El tiempo entre las fallas sucesivas tienden a ser independientes:
El tiempo, o el nmero adicional de casos
de prueba, a la falta siguiente puede depender de la naturaleza
o el tiempo de la falta anterior.
Un fallo detectado se corrige inmediatamente.

No se introducen nuevos errores durante el proceso de


eliminacin de fallos.
La tasa de fallos decrece con la prueba de tiempo, a medida que
avanza la prueba, se detectan fallas. O bien son eliminados antes
de que la prueba contine o no se eliminan y la prueba se
desplaza a otras partes del programa.
Tasa de fracaso es proporcional al nmero de fallos restante.
La confiabilidad es una funcin del nmero de fallos restante.

Factores: La aplicabilidad que posee cada modelo dependiendo del proceso


de desarrollo del software.

Fase de diseo: las fallas se pueden detectar visualmente o por otros


procedimientos formales o informales. Los modelos de confiabilidad del
software que se suelen aplicar son los de prediccin, debido a que aun no
se encuentra un historial de fallos.

Fase de Prueba: El tiempo de los modelos dependientes, especialmente el


tiempo entre los modelos de fracasos, no suelen ser aplicados. Los que se
aplican son los modelos de estimacin.

Funcin matemtica que relaciona la fiabilidad con el factor: La funcin


matemtica es generalmente ms alta orden exponencial o logartmico.
b) Categoras

Los modelos de confiabilidad se pueden dividir en dos sub categoras,


ambas tcnicas estn basadas en la observacin y la acumulacin de los
errores de los datos y el anlisis de la inferencia estadstica. :

Modelos de Prediccin

Modelos
Diferencias:

de

Estimacin

Modelos de Prediccin

Modelos de Estimacin

Datos de Referencia

Utilizacin de datos
histricos.

Cuando se utiliza

Fases de desarrollo o de
prueba

Utilizacin de los datos de


los
actuales esfuerzos
de desarrollo de software.
Fase de Prueba

Marco de Tiempo

Predice la fiabilidad en algn Estimacin de la fiabilidad,


momento futuro.
ya sea actual o en algn
momento futuro.

c) Clasificacin de los modelos dependiendo de las hiptesis

Modelos de Tiempo entre fallas (TBF)


Los tiempos de
Independiente entre fallos.
La misma probabilidad de la
exposicin de cada fallo.
Las fallas se eliminan despus de cada ocurrencia.
No hay
nuevas fallas introducidas durante la correccin.

Modelos de Conteo de Falla (FC)


Intervalos de las pruebas son independientes uno de otro.
Pruebas durante los intervalos es homognea.
El
nmero de defectos detectados durante intervalos no se
traslapan son independientes unos de otros.

Modelos de Implantacin de Fallas (FS)


La implantacin de fallas estn distribuidas al azar en el
programa.
Fallas del programa como fallas implantadas poseen la
misma probabilidad de ser detectados.

Modelos Entrada basada en un dominio (BID)


Perfil de distribucin de entrada es conocido.
Pruebas aleatorias.
Dominio de entrada se puede dividir en clases
equivalentes.

d) Tipos Modelos de Confiabilidad

Nonhomogeneous Poisson Process Model (NHPP)


Es un modelo de tipo Poisson que toma el numero de fallas por unidad
de tiempo, como variables aleatorias independientes de Poisson. El
modelo fue propuesto primero en 1970 por Armit Goel y Kazu Okumoto
y ha constituido la base para los modelos de uso de la observacin
nmero de fallos por unidad de tiempo. Hiptesis
1. El numero acumulativo de falla en un tiempo t, M(t), sigue un

proceso de Poisson con la funcin de valor medio de (t).La


funcin de valor medio es tal que el nmero esperado de fallas

de ocurrencia en el tiempo t a es proporcional al nmero


esperado de defectos no detectados en el tiempo t. Tambin se
asume que esta delimitada, la funcin decreciente del tiempo
con es decir, es un modelo de falla finita.
Requerimiento de datos
Los requisitos de datos para aplicar este modelo de recuento de falla
son:
1.

Contar el nmero de fallos en cada intervalo de prueba.

2.
El tiempo de finalizacin de cada perodo que el software
est bajo observacin.
Modelo
De la hiptesis podemos ver que la funcin de valor medio debe ser de
la forma:

Para algunas constantes b>0 y N>0. N es el total de numero de fallos


que son eventualmente detectados. La funcin de la intensidad de
fracaso es la derivada de (t) y tenemos.

Observe que la funcin de la intensidad de fracaso es estrictamente


decreciente para t> 0. Porque pertenece a la clase exponencial, tenemos
la distribucin de un error individual, x:

La funcin de la intensidad de fracaso sera:

muestra la relacin entre la funcin de la intensidad de fracaso y la


funcin de densidad de probabilidad para un solo fallo.
Goel y Okumoto han adaptado este modelo para utilizar el tiempo de
ocurrencias de los fallos contados.
Dentro de este marco tambin han determinado un tiempo de
liberacin ptima para un sistema de software. si la fiabilidad deseada
es de R por un tiempo de funcionamiento especificados de O, luego de

lograr el resultado deseado, la cantidad necesaria de tiempo que el


software debe ser observado es:

En el documento de Goel y Okumoto, ellos determinan el tiempo de


liberacin ptima basada en los costos (el costo de las pruebas de
encontrar y reparar una falla en el entorno de pruebas frente a la
explotacin).

Modelo de Shooman
1. Aplicabilidad
Sirve para predecir el nmero de errores remanentes en el
programa, a partir de la informacin estadstica de errores
descubiertos y corregidos. a. Supuestos

Nmero total de instrucciones en lenguaje mquina en el


programa es constante.

Nmero de errores al comienzo de la prueba de integracin


es constante y decrece proporcionalmente una vez que los
errores son corregidos.

No se introducen nuevos errores durante la prueba

b. Frmula

donde:
eo

Es el numero de errores iniciales.

I Es el numero total de instrucciones de lenguaje.


ec

Es el numero de errores corregidos.

Ks

Es la constante de Shooman.

2. Ventaja

El modelo Shooman se ajusta a los diferentes cambios en el


tamao del producto de software.

3. Desventaja

Los supuestos del modelo Shooman deben ser vlidos para


que los resultados sean tambin vlidos.

S-ar putea să vă placă și