• Aucun résultat trouvé

Les mesures d'évaluation de la croissance de fiabilité étant introduites, il est maintenant

indispensable de présenter et d'analyser les modèles existants qui permettent d'évaluer ces

mesures.

Le domaine de l'évaluation de la croissance de fiabilité du logiciel a donné naissance, depuis

une vingtaine d'années, à plusieurs modèles qui diffèrent essentiellement par les hypothèses

établies concernant la nature et l'évolution des lois relatives aux variables aléatoires caractérisant

le processus de défaillance du logiciel.

On dénombre actuellement plus de quarante modèles de croissance de fiabilité dont une revue

détaillée peut se trouver dans [Goel 83]. Compte tenu du nombre important de modèles de

croissance de fiabilité, plusieurs auteurs ont procédé à une classification des modèles proposés

par rapport à différents critères. Parmi les classifications proposées, on peut citer :

. la classification effectuée dans [Ramamoorthy 82] qui est basée sur l'application des

modèles au cours des différentes phases du cycle de vie du logiciel,

. la classification proposée dans [Goel 85] qui distingue les modèles à dénombrement de

défaillance des modèles à taux de défaillance,

. la classification de [Miller 86] qui a développé un modèle général basé sur la

représentation des instants d'occurrence des défaillances par des statistiques d'ordre de

variables de lois exponentielles ; il a ensuite classé les modèles selon la nature et l'allure

d'évolution des paramètres de ces lois,

. la classification de [Laprie 84-b, Kanoun 89] qui distingue les modèles à taux de

défaillance et les modèles NHPP à intensité de défaillance,

. la classification de [Gaudoin 90] qui classe les modèles selon les propriétés de la

fonction intensité de défaillance.

L'intérêt de procéder à une classification des modèles de croissance de fiabilité est d'identifier

ceux qui sont basés sur des hypothèses équivalentes afin d'éviter d'utiliser plusieurs modèles

qui correspondent au même type de comportement du système considéré et qui conduisent par

conséquent à des résultats équivalents.

Dans la suite nous nous baserons sur la classification proposée dans [Laprie 84-b,

Kanoun 89] pour présenter brièvement les modèles de croissance de fiabilité. Notre objectif

n'est pas de présenter en détail tous les modèles existants mais plus d'analyser les points

communs et les différences qui existent entre ces modèles et surtout de situer le modèle

hyperexponentiel sous ses deux aspects, temps continu et temps discret par rapport à ces

modèles.

Conformément aux mesures présentées dans le paragraphe précédent, nous considérerons

deux types de modèles : les modèles en temps continu et les modèles en temps discret.

I.4.1 Modèles de croissance de fiabilité en temps continu

La plupart des modèles de croissance de fiabilité définis dans la littérature sont des modèles

en temps continu qui modélisent l'évolution dans le temps de la fiabilité du logiciel. Le temps est

soit le temps calendaire soit le temps d'exécution du logiciel [Musa 79].

[Laprie 84-b, Kanoun 89] distinguent deux types de modèles qui sont basés sur deux

approches différentes pour la modélisation du processus de défaillance du logiciel : les modèles

à taux de défaillance et les modèles NHPP à intensité de défaillance.

I.4.1.1 Modèles à taux de défaillance

Les modèles à taux de défaillance caractérisent l'évolution du comportement du logiciel entre

l'occurrence de deux défaillances successives par la spécification d'une part, de l'expression du

taux de défaillance du logiciel conditionné par le passé du processus jusqu'à l'occurrence de la

dernière défaillance, et d'autre part, de la relation qui existe entre les taux successifs. Le passé du

processus se réduit pour la plupart des modèles proposés au nombre de défaillances observées ;

certains modèles considèrent également le temps écoulé depuis l'occurrence de la dernière

défaillance.

Selon les hypothèses de modélisation considérées, on peut distinguer deux catégories de

modèles à taux de défaillance :

. les modèles "déterministes" qui tiennent compte uniquement de la première source

d'incertitude sur le comportement du logiciel : l'incertitude sur les entrées ; ils supposent

que les variables aléatoires Ti sont indépendantes et distribuées selon des lois

. les modèles "doublement stochastiques" qui tiennent compte des deux sources

d'incertitude sur le comportement du logiciel : l'incertitude sur les entrées et l'incertitude

sur les programmes ; contrairement aux autres modèles, ils supposent que les paramètres

λi sont des variables aléatoires.

La figure I.8 donne des exemples de modèles appartenant à chacune de ces deux catégories .

Type de Modèle Exemples de Modèles

déterministe

Jelinski-Moranda [Jelinski 72]

Musa [Musa 75]

Moranda [Moranda 75]

Gaudoin I

6

[Gaudoin 90]

doublement stochastique

Littlewood-Verall [Littlewood 73]

Littlewood [Littlewood 81]

Keiller-Littlewood [Keiller 83]

Gaudoin II

7

[Gaudoin 90]

Figure I.8 : Modèles à taux de défaillance

Pour ces modèles, l'introduction des corrections dans le logiciel se traduit par une

discontinuité dans la fonction taux de défaillance qui exprime la variation de la fiabilité du

logiciel suite à l'élimination des fautes.

Mis à part les modèles de Gaudoin, de Littlewood-Verall et de Keiller-Littlewood, qui

tiennent compte d'une possibilité éventuelle de décroissance de fiabilité suite à l'introduction des

corrections, tous les autres modèles considèrent que la correction du logiciel entraîne

l'amélioration de sa fiabilité.

De plus, à l'exception du modèle Gaudoin I, tous les modèles à taux de défaillance, font

l'hypothèse que le taux de défaillance du logiciel tend asymptotiquement vers une valeur nulle,

supposant ainsi que le logiciel tend au bout d'un certain temps vers un logiciel parfait. Le

modèle Gaudoin I peut modéliser l'impact des fautes qui demeurent dans le logiciel en dépit des

corrections effectuées.

I.4.1.2 Modèles NHPP

Les modèles NHPP modélisent globalement le processus d'occurrence des défaillances par la

caractérisation de la fonction intensité de défaillance. Contrairement aux modèles à taux de

défaillance, ces modèles ne font pas d'hypothèse explicite sur le lien entre les défaillances et les

corrections et le taux de défaillance du logiciel caractéristique de ces modèles est une fonction

continue dans le temps.

Selon la forme de la fonction intensité de défaillance, on distingue trois types de modèles

NHPP :

. modèles à intensité croissante puis décroissante tendant vers 0 quand t →∞,

. modèles à intensité décroissante tendant vers 0 quand t →∞,

. modèles à intensité décroissante tendant vers une limite non nulle quand t →∞.

Sur la figure I.9 nous donnons des exemples de modèles de croissance de fiabilité

appartenant à chacun des trois types de modèles considérés ainsi que l'allure d'évolution de

l'intensité de défaillance h(t) correspondante.

Type de Modèle Allure de h(t) Exemples de Modèles

h(t) croissante puis décroissante

tendant vers une limite nulle

h(t)

t

"Delayed S-shaped" [Yamada 83]

"Inflexion S-shaped" [Ohba 82]

"Goel généralisé " [Goel 85]

"Logistic NHPP" [Fukishima 86]

h(t) décroissante tendant vers

une limite nulle

h(t)

t

"Crow" [Crow 77]

"Exponentiel" [Goel 79]

"Logarithmique" [Musa 84]

h(t) décroissante tendant vers une

limite non nulle

h(t)

t

"Finkelstein" [Finkelstein 79]

"Hyperexponentiel" [Laprie 84-a,

Kanoun 85]

Figure I.9 : Modèles à intensité de défaillance

Documents relatifs