Sei sulla pagina 1di 8

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
idnticos son usados.

confiabilidad si componentes

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 de Estimacin
Diferencias:

Datos de Referencia

Cuando se utiliza
Marco de Tiempo

Modelos de Prediccin Modelos de Estimacin


Utilizacin
de
datos Utilizacin de los datos
histricos.
de
los
actuales
esfuerzos de desarrollo
de software.
Fases de desarrollo o de Fase de Prueba
prueba
Predice la fiabilidad
Estimacin
de
la
en algn momento futuro. fiabilidad, 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
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.
1.

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
1
MTTF=
E
K s oec
I

donde:
eo
I
lenguaje.

Es el numero de errores iniciales.


Es el numero total de instrucciones de

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.

Potrebbero piacerti anche