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