Vous êtes sur la page 1sur 78

Ensimag - 3

`eme
annee
Fiabilite des Syst`emes et des Logiciels
Notes de cours
Olivier Gaudoin
2
Table des mati`eres
1 Problematique de la s urete de fonctionnement des syst`emes informa-
tiques 5
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Terminologie generale de la s urete de fonctionnement . . . . . . . . . . . . 8
1.3 Fiabilite des materiels ou des logiciels . . . . . . . . . . . . . . . . . . . . . 9
1.4 Le risque logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Methodes devaluation de la abilite des logiciels selon les etapes du cycle
de vie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Utilisation des evaluations de abilite des logiciels . . . . . . . . . . . . . . 12
1.7 Terminologie specique aux logiciels . . . . . . . . . . . . . . . . . . . . . . 13
1.8 Exemple de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 Les mesures de abilite 17
2.1 Mesures pour les syst`emes non reparables . . . . . . . . . . . . . . . . . . . 17
2.2 Mesures pour les syst`emes reparables . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 Durees de reparation comptabilisees . . . . . . . . . . . . . . . . . . 21
2.2.2 Durees de reparation non comptabilisees . . . . . . . . . . . . . . . 23
2.3 Evaluation des mesures de abilite . . . . . . . . . . . . . . . . . . . . . . 26
3 Les lois de probabilite usuelles en abilite 29
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 La loi exponentielle exp() . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 La loi de Weibull W(, ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Autres lois usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.1 La loi gamma G(, ) . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.2 La loi lognormale LN(m,
2
) . . . . . . . . . . . . . . . . . . . . . 34
3.4.3 Lois avec taux de defaillance en baignoire . . . . . . . . . . . . . . . 35
4 Calculs de abilite par structure 37
4.1 Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Syst`emes serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Syst`emes parall`eles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.1 Denition et proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.2 Cas o` u tous les composants ont un taux de defaillance constant . . 41
4.3.3 Cas o` u tous les composants sont identiques . . . . . . . . . . . . . . 42
4 TABLE DES MATI
`
ERES
4.3.4 Gain de abilite par les redondances . . . . . . . . . . . . . . . . . 42
4.3.5 La redondance logicielle . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Syst`emes k/n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Syst`emes mixtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5.1 Syst`emes serie-parall`ele . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5.2 Syst`emes parall`ele-serie . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6 La methode de factorisation . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5 Fiabilite dun logiciel non corrige : le processus de Poisson homog`ene 49
5.1 Rappels et denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2 Proprietes des processus de Poisson homog`enes . . . . . . . . . . . . . . . . 51
5.2.1 Lois des durees inter-defaillances . . . . . . . . . . . . . . . . . . . 51
5.2.2 Lois des instants de defaillances . . . . . . . . . . . . . . . . . . . . 51
5.2.3 Loi du nombre de defaillances survenues ` a chaque instant . . . . . . 51
5.2.4 Fiabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2.5 MTTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3 Estimation de la abilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4 Application aux donnees de lexemple . . . . . . . . . . . . . . . . . . . . . 55
5.5 Validation des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.5.1 Validation en presence de defaillances . . . . . . . . . . . . . . . . . 56
5.5.2 Validation en labsence de defaillances . . . . . . . . . . . . . . . . 57
6 Les mod`eles `a durees inter-defaillances exponentielles (ETBF) 59
6.1 Denition et proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.1 Loi des instants de defaillance . . . . . . . . . . . . . . . . . . . . . 60
6.1.2 Loi du nombre de defaillances survenues ` a chaque instant . . . . . . 60
6.1.3 Fiabilite et MTTF . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.4 Fonction de vraisemblance . . . . . . . . . . . . . . . . . . . . . . . 61
6.2 Le mod`ele de Jelinski-Moranda . . . . . . . . . . . . . . . . . . . . . . . . 61
6.3 Le mod`ele geometrique de Moranda . . . . . . . . . . . . . . . . . . . . . . 64
7 Les processus de Poisson non homog`enes (NHPP) 67
7.1 Denition et proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.1.1 Loi du nombre de defaillances survenues ` a chaque instant . . . . . . 68
7.1.2 Loi des durees inter-defaillances et instants de defaillance . . . . . . 69
7.1.3 Fiabilite et MTTF . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.1.4 Fonction de vraisemblance . . . . . . . . . . . . . . . . . . . . . . . 70
7.2 Le mod`ele de Duane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.3 Le mod`ele de Goel-Okumoto . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.4 Autres mod`eles NHPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.4.1 Le mod`ele de Musa-Okumoto . . . . . . . . . . . . . . . . . . . . . 75
7.4.2 Le mod`ele de Yamada-Ohba-Osaki . . . . . . . . . . . . . . . . . . 75
7.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Bibliographie 77
Chapitre 1
Problematique de la s urete de
fonctionnement des syst`emes
informatiques
1.1 Contexte
Ces derni`eres annees, les probl`emes lies ` a la matrise des risques et la s urete de
fonctionnement ont vu leur importance et leur retentissement considerablement aug-
menter.
Exemples :
risque sanitaire : vache folle, SRAS, grippe aviaire, grippe A, ...
risque environnemental : inondations, canicule, ouragan Katrina, ...
risque industriel : explosion des navettes spatiales Challenger et Columbia, dAriane
5, de lusine AZF, accidents davion (5 accidents mortels en ao ut 2005, 2 en juin
2009), pannes delectricite geantes, ...
risque nancier : Enron, subprimes, faillite de Lehmann-Brothers, aaires Kerviel et
Mado, ...
risque geopolitique : guerre, terrorisme, ...
Lopinion publique accepte de moins en moins la notion de risque et demande des
niveaux de s urete et de securite de plus en plus eleves.
Les syst`emes informatiques, devenus omnipresents dans tous les domaines, sont fata-
lement de plus en plus impliques dans les probl`emes de s urete. Par exemple, en 2004, la
France a ete confrontee en moins de 6 mois `a 4 pannes majeures de reseaux informatiques :
15-18 Juillet : le syst`eme de reservation Mosaic de la SNCF a ete totalement bloque
pendant pr`es de 4 jours, empechant la vente et la reservation de billets. La panne sest
declenchee quelques heures apr`es la mise en place dune nouvelle version de Mosaic.
La defaillance a ete causee par un programme de controle installe ponctuellement
pour sassurer de la qualite des transmissions entre le central de reservation et les
postes de travail. Son fonctionnement, combine `a la forte charge de transmission de
donnees liee `a la periode de grands departs, a sature le syst`eme et provoque lensemble
6
Chapitre 1 - Problematique de la s urete de fonctionnement des syst`emes
informatiques
de ces perturbations (communique de la SNCF). Le bug a provoque de longues les
dattente devant les guichets, mais na pas aecte les nances de la SNCF, car 90%
des voyageurs de cette periode avaient achete leurs billets ` a lavance.
30 et 31 Octobre : une panne de plus dune journee est survenue sur le reseau xe de
France Telecom. 26 commutateurs sur 600 ont ete aectes dans la region parisienne,
le nord et louest de la France. Quelques milliers dappels ont ete rejetes ou ne sont
pas parvenus ` a leur destinataire. La panne provenait dune anomalie logicielle dans
un equipement de traitement de la voix sur IP (VoIP) situe `a Reims. Cette anomalie
logicielle a provoque des anormalites dans le formatage de la numerotation de certains
appels, qui ont declenche des protections de securite pour eviter une panne du reseau
(communique de France Telecom).
17-18 Novembre : une panne de plus dune journee est survenue sur le reseau mo-
bile de Bouygues Telecom. 1.37 millions de clients nont pas pu du tout utiliser
leur portable et 5.6 millions ont eu des dicultes pour acceder au reseau. La fac-
ture de la panne sest elevee ` a 16 millions deuros : une journee de chire daaires
perdue et lequivalent en non facture aux clients en compensation du desagrement
subi. La panne provenait du dysfonctionnement de la base de donnees qui sert `a
reperer le mobile du client, lui permet dacheminer ses appels et den recevoir. Deux
serveurs centraux jumeaux sont tombes en panne au meme moment, dans deux en-
droits dierents. Les deux serveurs sont du materiel classique et largement utilise
par de nombreux operateurs de telephonie mobile avec, jusqu`a ce jour, une abilite
sans faille. En fonctionnement normal, ils se secourent en prenant le relais lun de
lautre. La panne est de nature exceptionnelle (communique de Bouygues Telecom).
3 Decembre : 800 terminaux de vente de la SNCF (sur 4000) ont ete paralyses pendant
plus dune journee. La panne provenait dun algorithme defectueux qui a progressi-
vement contamine les terminaux de vente en gare. Cet algorithme a pour objectif de
denir la zone de travail informatique de la transaction de paiement (communique
de la SNCF). Un nouveau bug du meme type est survenu en novembre 2009.
Dans ces 4 cas, les probl`emes ont ete causes par des defaillances logicielles. Le site
www5.in.tum.de/huckle/bugse.html recense une impressionnante collection de defail-
lances logicielles. Parmi celles-ci :
4 Juin 1996 : la fusee Ariane 5 a explose ` a cause dune faute de conception logicielle,
et plus precisement un probl`eme de reutilisation. Un programme de contr ole dun
gyroscope de la fusee (en ADA) avait ete transfere sans modication dAriane 4 ` a
Ariane 5. Or les trajectoires de vol dAriane 5 sont sensiblement dierentes de celles
dAriane 4. Cela a provoque un depassement de mantisse qui a induit en erreur le
calculateur de pilotage et ni par faire exploser le lanceur. Cette erreur a co ute 500
millions de dollars uniquement en materiel, sans parler des retards engendres et des
consequences sur limage de marque dArianespace.
3 mai 2000 : la moitie des ressources du reseau national de France Telecom ont ete
paralysees.
3 juin 2004 : le trac aerien britannique a ete fortement perturbe pendant plusieurs
heures suite ` a une defaillance du syst`eme informatique de controle aerien, qui a prive
tous les appareils en vol de ressources informatiques pendant deux heures.
1.1 Contexte 7
8 octobre 2005 : un defaut dans le syst`eme de controle en vol de la fusee russe Rockot
provoque la perte du satellite CryoSat charge detudier linuence du rechauement
climatique sur la fonte des glaces polaires. Co ut de la mission : 136 millions deuros.
Septembre 2007 : un bug dans Excel 2007 provoque des resultats de multiplication
fantaisistes comme 77.1 850 = 100000 (au lieu de 65535)i.
2007 : les retards de livraisons de lAirbus A380 sont en partie dus `a un probl`eme
logiciel dont lorigine tient au fait que les sites dHambourg et Toulouse ont utilise
deux versions dierentes du logiciel de CAO de Dassault Syst`emes CATIA. Les
penalites versees aux compagnies aeriennes se chirent ` a plusieurs milliards deuros.
Mars 2008 : Chrysler rappelle 25000 Jeeps Cherokee et Commander pour corriger
un defaut dans le logiciel de transmission automatique.
Janvier 2010 : un bug dans le logiciel de lecture des puces electroniques des cartes
bancaires fabriquees par Gemalto a empeche 30 millions dallemands de se servir de
leur carte de credit pendant pr`es dune semaine. Pour certains, ce bug de lan 2010
a largement surpasse le fameux bug de lan 2000...
Ces pannes majeures et repetees ont serieusement entame la conance du public dans
la s urete des reseaux de telecommunication et des syst`emes informatiques en general.
Dans de nombreux secteurs, on a pu constater que les defaillances sont de plus en plus
frequentes. En eet, dans un contexte fortement concurrentiel, les entreprises cherchent ` a
reduire leurs co uts et avancer les dates de lancement de leurs produits, au detriment en
particulier de la s urete de fonctionnement.
Par exemple, la abilite des ordinateurs de bureau a enormement ch ute, en meme temps
que les co uts. La garantie constructeur est passee de 3 ans `a 1 an en quelques annees et
les extensions de garantie sont tr`es ch`eres, ce qui indique clairement que les pannes des
PC sont tr`es frequentes.
Extraits dun article de Liberation du 19 novembre 2004 (voir document sur le Kiosk),
suite `a la succession de pannes des reseaux informatiques francais :
A la racine de toutes ces pannes, on trouve des defaillances de linformatique.
Il sagit danomalies logicielles.
On controle la qualite des services ou encore la couverture des reseaux, mais pas la
vulnerabilite des syst`emes.
Si la panne survient, cest que les operateurs rognent sur tout, y compris sur la
abilite de leur syst`eme.
Le consommateur est bien en droit de reclamer aujourdhui la garantie dune abilite
absolue. Celle-ci doit devenir un motif dachat, donc un argument de vente imperatif.
Pour que la abilite devienne un argument de vente imperatif, il faut etre capable de
levaluer ou la mesurer. Cest lobjectif essentiel de ce cours.
8
Chapitre 1 - Problematique de la s urete de fonctionnement des syst`emes
informatiques
1.2 Terminologie generale de la s urete de fonction-
nement
Toutes les entreprises et les collectivites locales, nationales et internationales, sont
concernees par la mesure, la gestion et la prevention des risques. Cela englobe les risques
industriels, environnementaux, sanitaires, nanciers, etc... Une des composantes princi-
pales de la gestion des risques est la s urete de fonctionnement.
Un syst`eme est un ensemble de composants en interaction destine ` a accomplir une
t ache donnee. Cest le cas par exemple des syst`emes de production, syst`emes de transport,
syst`emes informatiques, etc...
La s urete de fonctionnement (SdF, en anglais dependability) dun syst`eme est la
propriete qui permet ` a ses utilisateurs de placer une conance justiee dans le service
quil leur delivre. On dit aussi que la SdF est la science des defaillances.
Un syst`eme subit une defaillance quand il ne peut plus delivrer le service attendu. La
panne est letat du syst`eme resultant dune defaillance.
La s urete de fonctionnement comprend 5 composantes : la abilite, la disponibilite, la
maintenabilite, la securite-innocuite et la securite-condentialite :
La abilite (reliability) est la caracteristique du syst`eme exprimee par la probabilite
quil delivre le service attendu dans des conditions donnees et pendant une duree
determinee. La abilite exprime laptitude `a la continuite du service.
La disponibilite (availability) est exprimee par la probabilite que le syst`eme delivre
le service attendu dans des conditions donnees et `a un instant donne. La disponibilite
caracterise donc laptitude du syst`eme `a fonctionner quand on a besoin de lui.
La maintenabilite (maintainability) caracterise laptitude du syst`eme `a etre repare
quand il est defaillant, ou ` a evoluer.
La securite-innocuite (safety) caracterise laptitude du syst`eme ` a ne pas encourir
de defaillances catastrophiques.
La securite-condentialite (security) caracterise laptitude du syst`eme `a se premunir
contre les acc`es ou manipulations non autorisees (virus, attaques,...).
Un syst`eme non reparable est un syst`eme qui est mis au rebut d`es quil tombe en
panne. Cest le cas des petits syst`emes (par exemple des ampoules) ou des syst`emes qui
co utent plus cher ` a reparer qu`a remplacer.
Un syst`eme reparable est un syst`eme qui, apr`es sa defaillance, peut etre remis en
etat de marche par des actions de reparation ou maintenance. Cest le cas de tous les
syst`emes complexes et en particulier des syst`emes informatiques. Pour ces derniers, au
lieu de reparation, on parle plut ot de correction, debogage ou mise `a jour.
La maintenance des syst`emes est de deux types :
La maintenance corrective ou reparation remet en fonctionnement un syst`eme
apr`es sa defaillance.
1.3 Fiabilite des materiels ou des logiciels 9
La maintenance preventive est eectuee alors que le syst`eme fonctionne et a pour
but de retarder loccurrence des defaillances futures.
Dans les etudes de s urete de fonctionnement, on distingue les approches bote noire et
bote blanche :
Approche bote blanche ou structurelle : on consid`ere quun syst`eme complexe
est constitue de composants et que sa abilite depend `a la fois de la abilite de
ses composants et de la facon dont le bon fonctionnement ou la panne de chaque
composant inue sur le bon fonctionnement ou la panne du syst`eme tout entier. En
particulier, on consid`ere souvent quun syst`eme reparable est constitue de compo-
sants non reparables. Quand un composant tombe en panne, on le remplace par un
neuf, mais le syst`eme complet, lui, nest pas remis `a neuf.
Approche bote noire ou globale : on consid`ere le syst`eme comme un tout, quon
ne cherche pas `a decomposer en composants. On sinteresse alors ` a la suite des
defaillances et reparations successives du syst`eme.
1.3 Fiabilite des materiels ou des logiciels
A priori, les defaillances des syst`emes informatiques peuvent etre soit dorigine materielle,
soit dorigine logicielle. En pratique, plus de 80 % sont dorigine logicielle. Cest le cas
de tous les exemples presentes dans la section 1.1. On sinteressera donc en priorite aux
probl`emes logiciels. Mais on peut noter quil existe des dierences fondamentales entre la
abilite des materiels et celle des logiciels.
Les defaillances des materiels sont essentiellement dues ` a lusure (ou vieillissement)
et aux facteurs environnementaux, tandis que celles des logiciels sont dues `a des
fautes de conception (ou bugs), cest-`a-dire ` a des erreurs humaines.
Un materiel suse, un logiciel ne suse pas.
La maintenance des materiels ralentit le vieillissement des syst`emes mais ne lempeche
pas, tandis que la correction des logiciels augmente leur abilite.
Un logiciel non utilise ne tombe pas en panne (le terme de panne est dailleurs peu
utilise pour le logiciel). Un materiel non utilise peut tomber en panne du fait de
lusure ou des facteurs environnementaux.
En logiciel, une faute bien reperee et corrigee est eliminee denitivement et ne peut
plus se manifester. En materiel, on peut observer des defaillances repetables ou chro-
niques.
La sensibilite dun materiel `a son environnement est assez forte, mais on peut
neanmoins considerer quun materiel a une abilite en soi : les constructeurs quan-
tient la abilite dune ampoule electrique quel que soit son environnement. En re-
vanche, la sensibilite dun logiciel a son environnement, ` a travers son prol operation-
nel, est extremement forte. Un logiciel true de fautes peut tr`es bien fonctionner sans
defaillance si le prol operationnel nactive pas ces fautes. Un materiel ayant beau-
coup de defauts ou tr`es use tombera fatalement en panne, quelle que soit la mani`ere
dont on lutilise.
10
Chapitre 1 - Problematique de la s urete de fonctionnement des syst`emes
informatiques
Quand un materiel est en panne, il ne peut pas fonctionner tant quon ne la pas
repare. Au contraire, un logiciel peut etre relance immediatement apr`es une defaillance.
On voit que les dierences sont nombreuses entre abilite des materiels et abilite des
logiciels. On ne pourra donc pas traiter les deux aspects de la meme mani`ere. Historique-
ment, les concepts de la abilite ont ete introduits pour les materiels. On commencera
donc par introduire ces concepts pour les materiels, puis on presentera les specicites des
logiciels.
1.4 Le risque logiciel
Les defaillances des logiciels sont causees par des fautes dans les programmes. Or,
dune part, une etude [16] a montre quun programmeur professionnel fait en moyenne 6
fautes pour 1000 lignes de code (LOC) ecrites, et dautre part, la taille et la complexite
des logiciels ne cesse daugmenter. Par exemple :
la navette spatiale americaine a besoin pour voler de 500 000 LOC logiciel embarque
et 3 millions et demi de LOC au sol.
les reseaux telephoniques utilisent des millions de LOC pour fonctionner.
le nombre de LOC est passe de moins de 5 millions pour Windows 95 `a plus de 50
millions pour Windows Vista.
plus generalement, un logiciel commercial standard fait en moyenne 350 000 LOC.
Par consequent, cela fait environ 2000 fautes potentielles pour un logiciel standard, 24
000 pour la navette spatiale et 300 000 pour Vista !
Evidemment, tout est fait pour eliminer ces fautes, essentiellement par le test du
logiciel. Mais il est extremement dicile et co uteux de detecter et corriger des fautes
dans un logiciel. En eet, une etude de Microsoft [16] a etabli quil fallait en moyenne 12
heures de travail pour detecter et corriger une faute. Si un logiciel contient 2000 fautes,
il faut donc passer 24 000 heures pour le deboguer, soit presque 3 ans de travail cumule.
Cest pourquoi Microsoft emploie autant de personnel pour tester, verier et valider les
programmes que pour les creer. Et malgre cela, chacun a pu experimenter quil subsiste
des erreurs dans les logiciels de Microsoft. Une etude plus recente [17] evalue ` a 60% du
budget total dun projet informatique le co ut de la detection et correction des erreurs
logicielles (ou maintenance du logiciel).
Malgre tous ces eorts, la complexite de la tache fait quil reste toujours des fautes
dans un logiciel. Comme partout, et peut-etre meme moins que partout, le zero defaut est
impossible. Quand ces fautes residuelles se manifestent, leurs consequences peuvent aller
du minime au franchement catastrophique, comme on la vu dans la section 1.1.
Il est donc imperatif de tout faire pour eviter que des pannes informatiques majeures
se produisent. Pour cela, on dispose de nombreuses methodes dont le but est de produire
des logiciels de fonctionnement s ur. On peut classer ces methodes en 4 categories [10, 11] :
La prevention des fautes : ces methodes ont pour but dempecher loccurrence et
lintroduction de fautes d`es la conception du logiciel. Par exemple, on a de plus en
plus souvent recours ` a des methodes formelles pour developper les specications.
1.5 Methodes devaluation de la abilite des logiciels selon les etapes du
cycle de vie 11
Lelimination des fautes : ces methodes ont pour but de detecter des fautes dans
un programme dej` a ecrit. Elles comprennent les preuves de programmes, les inspec-
tions formelles, la verication et surtout le test du logiciel.
La tolerance aux fautes : ces methodes ont pour but de permettre au syst`eme de
fonctionner correctement meme en presence de fautes. On peut par exemple utiliser
de la redondance.
La prevision des fautes : ces methodes ont pour but destimer la presence des
fautes et de prevoir les defaillances futures du syt`eme.
Les methodes presentees dans ce cours rentrent dans la derni`ere categorie. En eet, il
ne sut pas davoir utilise tous les moyens possibles pour developper un logiciel able,
encore faut-il sassurer quil lest eectivement : il faut des methodes pour atteindre des
objectifs de abilite (les trois premi`eres categories, qui concernent le genie logiciel) et
faire appel `a dautres methodes pour savoir si ces objectifs sont atteints (la quatri`eme
categorie, qui fait intervenir des concepts probabilistes et statistiques). Par consequent,
il est tr`es important de pouvoir prevoir loccurrence des defaillances, et donc devaluer,
mesurer ou quantier la abilite dun logiciel. Notons que cette quatri`eme categorie de
methodes est aujourdhui moins utilisee dans lindustrie que les trois autres [19], mais que
cela va evoluer, notamment avec la prise en compte de ces notions dans les normes [2].
Pour les logiciels, on reduit parfois le concept de s urete de fonctionnement `a celui de
securite-condentialite. Cependant la securite-condentialite concerne exclusivement les
dysfonctionnements dus ` a des actes de malveillance volontaires (virus, attaques, etc.) alors
que la s urete de fonctionnement prend egalement en compte les dysfonctionnements non
volontaires : pannes materielles, fautes logicielles, erreurs humaines non intentionnelles,
etc.
1.5 Methodes devaluation de la abilite des logiciels
selon les etapes du cycle de vie
Les methodes devaluation de la abilite des logiciels varient suivant la nature des
informations disponibles. Celles-ci sont etroitement liees au cycle de vie du logiciel, comme
on le voit dans le tableau 1.1 [16] .
Phase du cycle de vie Pourcentage derreurs Pourcentage derreurs
introduites detectees
Analyse 55% 18%
Conception 30% 10%
Codage et test 10% 50%
Vie operationnelle 5% 22%
Table 1.1 Pourcentages derreurs introduites et detectees selon les phases du cycle de
vie du logiciel
Les types derreurs dans les dierentes phases sont les suivantes :
12
Chapitre 1 - Problematique de la s urete de fonctionnement des syst`emes
informatiques
Analyse : le logiciel ne repond pas ` a lattente des utilisateurs.
Conception : mauvaise traduction des specications.
Codage et test : erreurs de programmation ou de correction.
Vie operationnelle : erreur dans les mises ` a jour du syst`eme.
On constate que la majeure partie des erreurs sont introduites dans les premi`eres phases
du cycle de vie (85% en analyse et conception) et detectees dans les derni`eres phases (72%
en codage, test et vie operationnelle).
Dans les phases danalyse, conception et codage, le syst`eme nest pas encore construit,
donc il ne peut pas etre utilise et aucune defaillance nest observee. Les elements pouvant
etre utilises pour des previsions de abilite sont la structure du syst`eme et les metriques
logicielles (nombre de lignes de code, nombre cyclomatique du graphe de contr ole, mesures
darchitecture et de specications, etc... [8]). A ce niveau, on peut evaluer la qualite du
logiciel, mais pas sa abilite. Or on ne sait pas mesurer la correlation entre qualite et
abilite dun logiciel.
En phase de test et en vie operationnelle, le syst`eme fonctionne, des defaillances sont
observees et des corrections sont apportees au logiciel pour remedier aux fautes apparues.
Lessentiel des methodes devaluation de la abilite repose sur lobservation et lanalyse
statistique de cette suite de defaillances et corrections successives.
Tout comme les materiels, les logiciels complexes sont constitues de modules unitaires
que lon assemble. Si on est capable devaluer la abilite de chaque module et danalyser
les liens entre les dierents modules, on peut appliquer les methodes structurelles (bote
blanche) devaluation de abilite. Ce nest pas du tout facile en pratique. Aussi consid`ere-
t-on en general un logiciel comme un tout et on evalue sa abilite par une approche bote
noire. Cest ce que nous ferons dans ce cours.
1.6 Utilisation des evaluations de abilite des logi-
ciels
Dans un premier temps, les evaluations de abilite permettent de quantier la conance
dun utilisateur envers un syst`eme informatique, cest-` a-dire devaluer quantitativement
le risque que lon prend en le faisant fonctionner. Puis elles permettent de sassurer
que le logiciel a atteint un niveau de abilite conforme aux objectifs exprimes dans les
specications. Un objectif de abilite est usuellement exprime en termes de taux de
panne ou taux de defaillance. Par exemple, pour le recent metro parisien sans conduc-
teur Meteor, les objectifs annonces etaient un taux de panne par rame et par heure
inferieur ` a 10
9
pour le materiel et inferieur `a 10
11
pour le logiciel.
Pour les syst`emes faisant lobjet dune garantie, les evaluations de abilite permettent
de determiner la duree et le co ut de la garantie.
Si les mesures de abilite montrent que lobjectif nest pas atteint, elles peuvent per-
mettre devaluer leort de test `a fournir pour atteindre lobjectif, et en particulier des-
timer le temps necessaire pour y parvenir. Par consequent, les mesures de abilite four-
nissent un crit`ere darret des tests : on arrete les tests d`es quon peut prouver, avec
un niveau de conance raisonnable, quun objectif donne de abilite est atteint. Une
experience menee ` a AT&T a montre que la mise en place des mesures de abilite a permis
1.7 Terminologie specique aux logiciels 13
une reduction de 15% de la duree de la periode de tests, ce qui a entraine un gain de 4%
sur le co ut total du projet, alors que le surco ut du aux mesures na represente que 0.2%
de ce co ut total [16]. Dautres exemples sont mentionnes dans [20].
Par ailleurs, une mesure de abilite est un moyen devaluer quantitativement la qualite
dune methode de genie logiciel donnee. Elle peut aussi fournir un indicateur de perfor-
mance dun programmeur ou dun testeur. Cette dimension humaine delicate est parfois
un frein ` a lutilisation eective des evaluations de abilite.
1.7 Terminologie specique aux logiciels
En premi`ere approche, la abilite dun logiciel est la probabilite quil fonctionne sans
defaillances pendant une duree donnee et dans un environnement specie. Cest donc
une notion temporelle. Le temps considere peut etre le temps dexecution CPU (temps
eectivement passe par la machine pour executer le programme), le temps calendaire, voir
egalement un nombre doperations ou de transactions. A terme, seul le temps calendaire
est important. Notons que pour certains syst`emes (les syst`emes reactifs), le temps nest
pas lelement primordial : ce qui compte, cest quune execution se deroule correctement.
Alors, la abilite est denie comme la probabilite quune execution soit correcte. Dans la
suite, nous ne nous interesserons pas ` a ce type de syst`eme et nous conserverons donc la
denition temporelle de la abilite.
Une defaillance se produit quand le resultat fourni par le logiciel nest pas conforme
au resultat prevu par les specications. Pour eclaircir cette notion, on peut considerer
quun logiciel est un syst`eme qui, par lintermediaire dun programme, transforme des
donnees dentree en resultats ou donnees de sortie. Un programme est une suite
nie dinstructions codees qui execute une ou plusieurs t aches speciees. Lexecution dun
programme peut donc etre vue (voir gure 1.1) comme une application de lensemble des
donnees dentree dans lensemble des donnees de sortie (appeles espace des entrees et
espace des sorties).
c c
................... . . . . . . . . . . . . . . . . . . .
................... . . . . . . . . . . . . . . . . . . . Programme
Espace des entrees Espace des sorties
Figure 1.1 Lexecution dun programme
Les specications denissent quelle doit etre la donnee de sortie pour chaque donnee
dentree possible. Si, pour une donnee dentree particuli`ere, la sortie fournie par le pro-
14
Chapitre 1 - Problematique de la s urete de fonctionnement des syst`emes
informatiques
gramme nest pas celle prevue par les specications, il y a defaillance. On voit ainsi
apparatre une relation forte entre donnee dentree et defaillance, sur laquelle nous re-
viendrons.
Une faute logicielle ou bug est un defaut du programme qui, execute dans certaines
conditions, entranera une defaillance. Une faute est un phenom`ene intrins`eque au pro-
gramme, elle existe meme quand le logiciel nest pas utilise. A linverse, une defaillance
est un phenom`ene dynamique : le programme doit etre execute pour quelle se manifeste.
Une faute est creee suite `a une erreur humaine de lanalyste, du concepteur ou du pro-
grammeur. Aussi, on emploie le terme de faute de conception. Les erreurs peuvent etre
de specication, de conception ou de codage. Il est egalement possible quune defaillance
dun syst`eme informatique soit due ` a un probl`eme materiel. Ce type de defaillance est en
general facilement identiable. Nous ne le traiterons pas dans la suite, o` u nous supposerons
que toutes les defaillances sont dues ` a des fautes de conception (au sens large).
Si on pouvait tester toutes les entrees possibles dun logiciel, on detecterait fatalement
toutes les fautes. Mais le nombre dentrees possibles est beaucoup trop grand pour cela.
Il faut donc determiner dans lespace des entrees un sous-ensemble dentrees ` a tester.
Le prol operationnel denit le choix des entrees et la frequence de sollicitation du
logiciel, en associant `a chaque entree ou groupe dentrees sa probabilite detre fournie
au programme `a un instant donne. Le prol operationnel est en general tr`es dierent en
phase de test et en vie operationnelle.
Quand une defaillance survient, on cherche `a detecter la faute qui a provoque cette
defaillance et ` a leliminer. On eectue alors une correction ou debogage. Parfois, un
logiciel est amene ` a changer radicalement certaines de ses fonctionnalites. On proc`ede
alors ` a un changement de specications, qui va aboutir ` a une nouvelle version du
logiciel. Les corrections et les changements de specications peuvent etre interpretes de
la meme mani`ere comme des modications du programme. Une modication dun logiciel
est parfois appelee une maintenance logicielle. La correction a pour but de reduire loc-
currence dapparition des defaillances, donc elle devrait augmenter la abilite du logiciel.
1.8 Exemple de donnees
Le syst`eme observe est une machine UNIX sur laquelle tourne un gros logiciel de bases
de donnees en phase de test. Le syst`eme a ete observe sur un an, du 14 juin 1995 `a 16h14
au 11 juin 1996 `a minuit.
Un demon a note tous les instants de panne, les causes des pannes et les instants de
redemarrage de la machine. Suivant la nature des interruptions, des corrections ont ete
apportees ou pas au logiciel. Le temps pris en compte est le temps calendaire. Le tableau
1.2 presente un extrait du rapport de abilite brut genere automatiquement par le demon.
On peut facilement en extraire les durees de bon fonctionnement et de non fonctionnement
successives.
On constate que les durees de non fonctionnement de la machine sont, dune part
negligeables par rapport aux durees de bon fonctionnement, et dautre part dicilement
exploitables : on a une valeur aberrante (7168) due `a une defaillance survenue pendant
un pont du mois de juin, puis des valeurs quasiment constantes (` a 4 mn). Cest souvent
le cas, aussi on se contente en general danalyser les durees de bon fonctionnement ou
durees inter-defaillances.
1.8 Exemple de donnees 15
Dans lexemple, on a observe n = 24 durees inter-defaillances, quon peut noter
x
1
, . . . , x
n
et dont les valeurs sont :
0.63 125.71 89.92 19.24 150.64 458.31 143.90 330.51
101.15 73.15 580.32 521.90 596.87 338.80 222.11 197.25
144.31 850.12 470.21 232.46 170.93 186.76 512.54 545.38
CUMULATIVE RELIABILITY REPORT
-----------------------------
Machine
Observation From: 06/14/95 16:14
To: 06/11/96 00:00
Territory: FR
Machine Usage: DataBase
Observation Phase: Development
Interruption:
Start Stop Up Time Stop Reason Stop Error Down Time
(h) (mn)
06/14/95 16:14 06/14/95 16:52 1 Unknown Boot Down 25
06/14/95 17:17 06/19/95 23:00 126 Unknown Boot Down 7168
06/24/95 19:28 06/28/95 13:24 90 Others Program Int 98
06/28/95 15:02 06/29/95 10:16 19 Normal Reboot Id 4
06/29/95 10:21 07/05/95 17:00 151 Time Out Graphics 0
09/14/95 15:16 10/03/95 17:34 458 Normal Reboot Id 4
10/03/95 17:39 10/09/95 17:33 144 Normal Reboot Id 4
10/09/95 17:37 10/23/95 12:08 331 Envir. Fault Bump Int 4
10/23/95 12:13 -------------- --- ------------ ----------- ----
Table 1.2 Extrait du rapport de abilite brut
Le graphe des durees inter-defaillances successives en fonction du temps (gure 1.2)
semble montrer une tendance ` a la croissance de ces donnees. Cest ce quon sattend `a
observer : une correction ecace doit augmenter les durees entre defaillances successives.
On souhaite maintenant savoir ce qui va se passer au-del`a du 11 juin 1996 :
quelle est la abilite du logiciel `a cette date ?
peut-on prevoir quand se produira la prochaine defaillance ?
` a quelle frequence de defaillances peut-on sattendre `a lavenir ?
Le but de ce cours est de fournir les moyens de repondre ` a ces questions. Comme la
abilite est une probabilite, on se basera pour levaluer sur :
16
Chapitre 1 - Problematique de la s urete de fonctionnement des syst`emes
informatiques
0 5 10 15 20 25
0
100
200
300
400
500
600
700
800
900
i
Figure 1.2 Graphe des durees inter-defaillances successives
une modelisation probabiliste du processus des defaillances et corrections succes-
sives du logiciel
une analyse statistique de la suite de ces defaillances et corrections.
Le chapitre 2 presente les concepts de base et denit les principales mesures de abilite.
Le chapitre 3 decrit les lois de probabilite usuelles en abilite, en insistant sur les lois
exponentielle et de Weibull. Le chapitre 4 est consacre aux calculs de abilite par structure,
permettant de calculer la abilite dun syst`eme non reparable complexe ` a partir de la
abilite de ses composants. Le chapitre 5 traite de la modelisation et de levaluation de
abilite dun logiciel que lon ne corrige pas. Enn, les deux derniers chapitres presentent
les deux principales classes de mod`eles de abilite des logiciels, les mod`eles `a durees inter-
defaillances exponentielles (ETBF) dans le chapitre 6 et les processus de Poisson non
homog`enes (NHPP) dans le chapitre 7.
Chapitre 2
Les mesures de abilite
Les concepts generaux de la abilite ont ete introduits pour les materiels. On les
presente ici dans ce contexte en signalant ` a loccasion les specicites des logiciels. Les
mesures de abilite sont dierentes suivant que les syst`emes concernes sont reparables ou
non reparables.
2.1 Mesures pour les syst`emes non reparables
Comme on la vu, un syst`eme non reparable est un syst`eme qui est mis au rebut d`es
quil tombe en panne. Les considerations sur les reparations ou corrections nont donc
pas lieu detre ici. Le seul point important est la date de panne, appelee aussi instant
de defaillance, duree de vie ou duree de bon fonctionnement du syst`eme. Comme
celle-ci nest pas previsible avec certitude `a lavance, on la modelise par une variable
aleatoire, que lon note X. Une duree etant un reel positif, cette variable aleatoire est ` a
valeurs dans R
+
.
Si on sinteressait `a des syst`emes pour lesquels le temps est exprime par un nombre
entier, comme un nombre de transactions, X serait ` a valeurs dans N. On pourrait aussi
prendre en compte la possibilite que le syst`eme soit en panne `a linstant initial, ce qui
voudrait dire que P(X = 0) = 0. Nous ne nous placerons ici dans aucun de ces deux
cas. Par consequent, X sera une variable aleatoire continue `a valeurs dans R
+
. Sa loi de
probabilite est denie par :
sa fonction de repartition F(x) = P(X x),
sa densite f(x) = F

(x).
Plus la duree de fonctionnement est grande, meilleure est la abilite du syst`eme. Donc
on choisit de denir la abilite du syst`eme `a linstant x comme la probabilite que le
syst`eme ne soit pas encore tombe en panne `a linstant x ou encore comme la probabilite
que le syst`eme fonctionne sans defaillance entre 0 et x.
Denition 1 La abilite dun syst`eme non reparable est la fonction du temps R (R
pour reliability) denie par :
x 0, R(x) = P(X > x) (2.1)
18 Chapitre 2 - Les mesures de abilite
On a evidemment R(x) = 1 F(x) et R

(x) = f(x). R est donc une fonction


decroissante. Cela traduit le fait naturel que laptitude au bon fonctionnement dun
syst`eme non reparable diminue avec le temps. Mais la monotonie de cette fonction fait
que la abilite nest pas susamment souple pour pouvoir clairement prendre en compte
la diversite des types dusure. Aussi la principale mesure de abilite nest pas la fonction
de abilite mais le taux de defaillance.
Denition 2 Le taux de defaillance ou taux de panne ou taux de hasard dun
syst`eme non reparable est la fonction du temps h denie par :
x 0, h(x) = lim
x0
1
x
P(x < X x + x | X > x) (2.2)
Dans cette expression, la probabilite consideree est la probabilite que le syst`eme tombe
en panne entre x et x + x sachant quil a bien fonctionne entre 0 et x. Notons que la
abilite est une probabilite mais que le taux de defaillance nen est pas une : h(x) peut
etre superieur ` a 1.
Linterpretation du taux de defaillance est liee `a celle de la densite de la facon suivante.
On sait que :
f(x) = F

(x) = lim
x0
F(x + x) F(x)
x
= lim
x0
1
x
_
P(X x + x) P(X x)

= lim
x0
1
x
P(x < X x + x)
On a donc, pour x

petit

:
f(x) x P(x < X x + x)
et :
h(x) x P(x < X x + x | X > x)
La quantite f(x) x peut donc etre consideree comme la probabilite de defaillance
juste apr`es linstant x alors que h(x) x peut etre consideree comme la probabilite de
defaillance juste apr`es linstant x sachant que le syst`eme nest pas tombe en panne avant
x. Il y a donc une notion dinstantaneite dans f(x) et une notion de duree dans h(x)
(comme dans R(x)).
On peut illustrer cette dierence en comparant :
la probabilite quun homme meure entre 100 et 101 ans ;
la probabilite quun homme meure entre 100 et 101 ans sachant quil a vecu jusqu` a
100 ans.
La premi`ere (liee ` a la densite) est tr`es faible : on a de tr`es fortes chances de mourir
avant 100 ans. La seconde (liee au taux de defaillance) est evidemment tr`es forte.
On concoit donc que le taux de defaillance est une mesure pratique de lusure ou du
vieillissement. Un taux de defaillance croissant correspond ` a un syst`eme qui se degrade,
2.1 Mesures pour les syst`emes non reparables 19
tandis quun taux de defaillance decroissant correspond ` a un syst`eme qui sameliore avec
le temps.
Il est facile detablir les liens entre le taux de defaillance et la abilite :
h(x) = lim
x0
1
x
P(x < X x + x | X > x)
= lim
x0
1
x
P(x < X x + x X > x)
P(X > x)
= lim
x0
1
x
P(x < X x + x)
P(X > x)
=
1
R(x)
lim
x0
1
x
[F(x + x) F(x)]
=
f(x)
R(x)
=
f(x)
1 F(x)
=
R

(x)
R(x)
=
d
dx
ln R(x)
En integrant et en prenant comme condition initiale R(0) = 1, car on a suppose que le
syst`eme fonctionne ` a linstant initial, on obtient la formule dexponentiation :
R(x) = exp
_

_
x
0
h(u) du
_
(2.3)
Denition 3 Le taux de defaillance cumule ou taux de hasard cumule dun
syst`eme non reparable est la fonction du temps H denie par :
x 0, H(x) =
_
x
0
h(u) du = ln R(x) (2.4)
La formule dexponentiation secrit donc aussi R(x) = exp(H(x)).
Enn, puisque f(x) = R

(x), la densite de X sexprime `a laide du taux de defaillance


sous la forme :
f(x) = h(x) exp
_

_
x
0
h(u) du
_
(2.5)
Toutes les grandeurs caracteristiques de la loi de probabilite de X sexpriment ` a
laide de la fonction h. Le taux de defaillance caracterise donc la loi dune duree de
vie. Cest pourquoi, en pratique, construire un mod`ele de abilite de syst`emes
non reparables revient `a se donner une forme particuli`ere pour le taux de
defaillance.
Le choix de cette forme est base sur des considerations de modelisation ou des consta-
tations experimentales. De nombreuses etudes pratiques ont montre que le graphe du taux
de defaillance dun syst`eme non reparable simple a tr`es souvent une forme de baignoire,
comme dans la gure 2.1. En eet, h se decompose dans ce cas en 3 parties :
la periode de jeunesse : quand un syst`eme est neuf, on observe souvent des
defaillances precoces, dues `a des defauts intrins`eques ou des fautes de conception. Le
risque de defaillance est donc assez fort au tout debut de la vie du syst`eme. Ensuite il
diminue car, sil y a des defauts initiaux, ils vont se manifester t ot. h est donc dabord
decroissant. Cest le rodage pour les materiels mecaniques et le deverminage pour
les materiels electroniques ;
20 Chapitre 2 - Les mesures de abilite
la vie utile : pendant cette periode, le taux de defaillance est constant et les
defaillances sont purement accidentelles ;
le vieillissement : h se remet ` a crotre car le risque de defaillance va nir par
augmenter ` a cause de lusure du syst`eme.
0 20 40 60 80 100
0
1
2
3
4
5
Figure 2.1 Taux de defaillance en forme de baignoire
Du point de vue du consommateur cherchant ` a sassurer contre les pannes du syst`eme,
il est imperatif davoir une garantie `a court terme pour se premunir contre les defauts de
jeunesse. On peut souhaiter avoir une garantie ` a long terme contre le vieillissement, mais
cela va co uter cher et les contrats ne garantissent en general pas les probl`emes dusure.
En revanche, une garantie ` a moyen terme nest pas forcement utile car, si le syst`eme
a passe la periode de jeunesse, il subira en general peu de defaillances en periode de
vie utile. Naturellement, pour pouvoir xer de fa con optimale les durees de garantie, il
faut connatre ou estimer les dates de transition entre les dierentes periodes, ce qui est
generalement dicile.
La derni`ere mesure fondamentale de abilite est le MTTF.
Denition 4 Le MTTF (Mean Time To Failure) dun syst`eme non reparable est la
duree moyenne de bon fonctionnement avant sa defaillance :
MTTF = E[X] =
_
+
0
x f(x) dx (2.6)
Une integration par parties aboutit alors `a :
MTTF =
_
x R(x)

+
0
+
_
+
0
R(x) dx
2.2 Mesures pour les syst`emes reparables 21
En supposant que R(x) tend vers 0 plus vite que
1
x
, ce qui sera toujours le cas, on
obtient une formule plus usuelle pour le MTTF :
MTTF =
_
+
0
R(x) dx (2.7)
Remarque : La transformee de Laplace de R est

R(s) =
_
+
0
R(x) exp(sx) dx. Par
consequent, MTTF =

R(0).
2.2 Mesures pour les syst`emes reparables
Quand les syst`emes sont reparables, deux cas de gure sont possibles, selon que lon
prend en compte ou pas les durees de reparation.
2.2.1 Durees de reparation comptabilisees
Le fonctionnement du syst`eme est une succession de durees de bon fonctionnement
et de durees de non fonctionnement ou de reparation. On note traditionnellement
{X
i
}
i1
les durees de bon fonctionnement successives et {Y
i
}
i1
les durees de reparation
successives.
6
-
- - - -
X
1
Y
1
X
2
Y
2
X
3
fonctionnement
panne
Figure 2.2 Durees de bon fonctionnement et de reparation
La duree de reparation Y comprend en fait une duree de detection de la panne, une
duree de reparation proprement dite et une duree de remise en service. Pour les logiciels,
on peut relancer immediatement le syst`eme apr`es une defaillance, donc il ny aura pas
forcement de duree de reparation en tant que telle, mais il y aura les durees de detection
de la panne et de remise en service.
Pour une duree de reparation Y , on denit des quantites similaires ` a celles qui ont ete
denies pour une duree de bon fonctionnement X :
La maintenabilite est la fonction de repartition de Y . La maintenabilite en y est
la probabilite quun syst`eme en panne ` a linstant 0 soit repare avant linstant y :
y 0, M(y) = P(Y y)
22 Chapitre 2 - Les mesures de abilite
Le taux de reparation est deni par
y 0, (y) = lim
y0
1
y
P(y < Y y + y | Y > y)
Le MTTR (Mean Time To Repair) est la duree moyenne de reparation :
MTTR = E[Y ] =
_
+
0
[1 M(y)] dy
Dans ce contexte, on peut toujours denir la abilite ` a linstant x comme la probabilite
que le syst`eme ne tombe pas en panne entre 0 et x. Cela signie que linstant de la premi`ere
panne doit etre superieur ` a x, donc
x 0, R(x) = P(X
1
> x).
Mais on peut sinteresser ` a une autre quantite particuli`erement interessante pour les
syst`emes reparables, la disponibilite.
Denition 5 La disponibilite dun syst`eme reparable est la fonction du temps A (A
pour availability) telle que :
t 0, A(t) = Probabilite que le syst`eme fonctionne `a linstant t.
Donner une expression mathematique generale est beaucoup plus complexe pour la
disponibilite que pour la abilite. Heureusement, il est souvent possible de donner des
expressions simples de la disponibilite asymptotique :
A() = lim
t+
A(t).
Remarque : La abilite implique une notion de duree (fonctionnement pendant une cer-
taine duree) tandis que la disponibilite implique une notion dinstantaneite (fonctionne-
ment ` a un instant donne).
Contrairement ` a ceux de R(x) et M(y), le sens de variation de A(t) nest pas determine.
On a des syst`emes `a disponibilite croissante, dautres ` a disponibilite decroissante et tous
les sens de variation imaginables sont possibles.
Quand le syst`eme est remis ` a neuf apr`es reparation, il est logique de supposer que X
2
a la meme loi de probabilite que X
1
. Plus generalement, on suppose couramment que
les X
i
sont independants et de meme loi, et que les Y
i
sont aussi independants et de
meme loi (mais pas la meme que celle des X
i
). Cela facilite grandement le calcul de la
disponibilite. Mais dans la pratique, la reparation ne remet pas souvent le syst`eme ` a neuf,
ce qui complexie les calculs.
On parle parfois de MTBF = MTTF+MTTR (Mean Time Between Failures). Le
MTBF est la duree moyenne entre deux defaillances successives, comprenant la duree
moyenne de bon fonctionnement et la duree moyenne de reparation. On a alors souvent :
lim
t+
A(t) =
MTTF
MTTF + MTTR
,
ce qui se concoit bien intuitivement.
2.2 Mesures pour les syst`emes reparables 23
2.2.2 Durees de reparation non comptabilisees
Dans lexemple de donnees du premier chapitre, on a vu que les durees de reparation
etaient sujettes ` a caution et diciles ` a interpreter. On a simplement etudie les durees de
bon fonctionnement successives. En pratique, il est frequent egalement que les durees de
reparation soient negligeables par rapport aux durees de bon fonctionnement. Il est donc
interessant de modeliser la situation o` u les durees de reparation sont negligeables ou non
comptabilisees. Dans ce cas, la notion de disponibilite na plus aucun sens.
Dans ces conditions, on consid`ere que lon observe le fonctionnement dun syst`eme
reparable ` a partir dun instant T
0
= 0. Des defaillances se produisent `a des instants
que lon note T
1
, T
2
, . . .. Apr`es chaque defaillance, le syst`eme est repare ou corrige puis
relance. Le processus des defaillances dun tel syst`eme reparable est deni de mani`ere
equivalente par lun des 3 processus aleatoires suivants.
la suite des instants de defaillance {T
i
}
i1
, avec T
0
= 0.
la suite des durees inter-defaillances {X
i
}
i1
o` u i 1, X
i
= T
i
T
i1
est la duree
entre la (i 1)
`eme
et la i
`eme
defaillance. T
i
=
i

j=1
X
j
.
le processus de comptage des defaillances {N
t
}
t0
, o` u N
t
est le nombre cumule de
defaillances survenues entre 0 et t.
La gure 2.3 illustre les quantites aleatoires ainsi denies en presentant une trajectoire
quelconque du processus des defaillances. La realisation de ce processus pour les donnees
de lexemple de la section 1.8 est presentee dans la gure 2.4.
-
6
T
0
T
1
T
2
T
3
T
4
T
5
t
N
t
1
2
3
4
5

- - - - -
X
1
X
2
X
3
X
4
X
5
Figure 2.3 Trajectoire quelconque du processus des defaillances
Remarque : Lhypoth`ese que les durees de correction sont negligeables peut sembler contra-
dictoire avec les chires cites au chapitre 1 comme quoi il faudrait en moyenne 12 heures
pour detecter et corriger une faute. Dans la pratique, le logiciel est souvent relance sans
que la correction soit faite. Il fonctionne pendant que lequipe de correcteurs travaille
(alors que, rappelons-le, pour le materiel, la reparation empeche le fonctionnement). La
correction est introduite un peu plus tard. Les premiers travaux sur la abilite des logiciels
ont suppose que les durees de correction etaient negligeables (ou non comptabilisees) et
24 Chapitre 2 - Les mesures de abilite
0 1000 2000 3000 4000 5000 6000 7000 8000
0
5
10
15
20
25
t
N
o
m
b
r
e

d
e

d

f
a
i
l
l
a
n
c
e
s
Figure 2.4 Processus des defaillances pour les donnees de lexemple
quune correction etait eectuee `a chaque defaillance. Nous conserverons ces hypoth`eses
dans le cadre de ce cours, mais il est possible de prendre en compte des hypoth`eses plus
realistes.
Si on denit la abilite comme precedemment, seul linstant de la premi`ere defaillance
est en jeu :
x 0, R(x) = P(X
1
> x) = P(T
1
> x).
Or, si on prend le cas de lexemple, on souhaite etre capables devaluer la probabilite
que le logiciel fonctionne correctement pendant une duree quelconque `a partir de la n du
test le 11 juin 1996. Aussi, on va modier la denition de la abilite en considerant que
la abilite du syst`eme `a linstant t exprime la probabilite quil fonctionne correctement
pendant une certaine duree `a partir de t. Pour etre tout `a fait complet, on va considerer
que cette probabilite peut eventuellement dependre de tout ce qui sest passe depuis la
mise en service du syst`eme. Mathematiquement, cela signie que cest une probabilite
conditionnelle au nombre et aux instants des defaillances ayant precede linstant present
t. Do` u la denition suivante.
Denition 6 La abilite dun syst`eme reparable `a linstant t est la fonction R
t
denie
par :
0, R
t
(; n, t
1
, . . . , t
n
) = P(T
n+1
> t + |N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
) (2.8)
= P(N
t+
N
t
= 0|N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
)
Autrement dit, R
t
(; n, t
1
, . . . , t
n
) est la probabilite que le syst`eme fonctionne sans
defaillances pendant une duree au moins egale ` a apr`es t, sachant quil y a eu exactement
n defaillances entre 0 et t, aux instants t
1
, . . . , t
n
. La premi`ere ecriture exprime que la
prochaine defaillance aura lieu apr`es t + et la seconde exprime quil ny aura aucune
defaillance entre t et t +. On concoit bien la denition de la abilite `a laide de la gure
2.5, pour laquelle n defaillances ont eu lieu entre 0 et t.
Quand on se place `a linstant t
n
de la derni`ere defaillance, on est interesse par la
prevision de la duree X
n+1
` a attendre avant la prochaine defaillance. Sa loi de probabilite
peut etre inuencee par le passe du processus de defaillance, donc on sinteressera plut ot
` a la loi de X
n+1
sachant [T
1
= t
1
, . . . , T
n
= t
n
]. Cette loi a pour taux de defaillance
h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(x).
2.2 Mesures pour les syst`emes reparables 25
-

t
n t
T
n+1
Figure 2.5 Fiabilite pour une duree ` a partir de t, avec n defaillances observees
Pour un syst`eme non reparable, la propension de defaillance ` a linstant t est exprimee
par le taux de defaillance h(t). Pour un syst`eme reparable, il est logique dexprimer
la propension de defaillance ` a linstant t par le taux de defaillance de la duree inter-
defaillance courante `a cet instant, autrement dit h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(t t
n
). Cest ce quon
appelle lintensite de defaillance ` a linstant t.
Denition 7 Lintensite de defaillance dun syst`eme reparable `a linstant t est la
fonction
t
denie par :

t
(n; t
1
, . . . , t
n
) = h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(t t
n
) (2.9)
Suivre lintensite de defaillance au cours du temps revient donc ` a etudier les taux de
defaillance conditionnels successifs des X
i
sachant le passe. On parle alors de concatenation
ou damalgame de taux de defaillance.
On montre que lintensite de defaillance secrit aussi :

t
(n; t
1
, . . . , t
n
) = lim
t0
1
t
P(t < T
n+1
t + t | N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
)
= lim
t0
1
t
P(N
t+t
N
t
= 0 | N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
) (2.10)
La probabilite dans cette ecriture est la probabilite que le syst`eme tombe en panne
entre t et t + t sachant tout le passe du processus des defaillances `a linstant t.
Lintensite de defaillance est aux syst`emes reparables ce que le taux de defaillance est
aux syst`emes non reparables. Une intensite de defaillance croissante correspond ` a une
frequence de defaillance qui augmente avec le temps, donc `a un syst`eme qui suse malgre
les reparations. Une intensite de defaillance decroissante correspond `a un syst`eme qui
sameliore avec le temps. A priori, les materiels rentrent dans la premi`ere categorie et les
logiciels dans la seconde.
Denition 8 Le MTTF dun syst`eme reparable `a linstant t est la duree moyenne dat-
tente de la prochaine defaillance `a linstant t, sachant tout le passe du processus des
defaillances `a cet instant :
MTTF
t
(n; t
1
, . . . , t
n
) = E[T
n+1
t | N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
] (2.11)
Les resultats suivants sont les equivalents pour les syst`emes reparables des formules
(2.3) et (2.7).
26 Chapitre 2 - Les mesures de abilite
R
t
(; n, t
1
, . . . , t
n
) = exp
_

_
t+
t

u
(n; t
1
, . . . , t
n
) du
_
= exp
_

_

0

t+u
(n; t
1
, . . . , t
n
) du
_
(2.12)
MTTF
t
(n; t
1
, . . . , t
n
) =
_
+
0
R
t
(; n, t
1
, . . . , t
n
) d (2.13)
La formule (2.12) avec t = t
n
et = t t
n
donne
P(T
n+1
> t | T
1
= t
1
, . . . , T
n
= t
n
) = exp
_

_
t
t
n

u
(n; t
1
, . . . , t
n
) du
_
qui nest rien dautre quune reecriture de
P(X
n+1
> t t
n
| T
1
= t
1
, . . . , T
n
= t
n
) = exp
_

_
tt
n
0
h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(u) du
_
Une autre mesure importante de abilite des syst`emes reparables est le nombre moyen
de defaillances survenues ` a chaque instant. Cest ce quon appelle la fonction moyenne.
Denition 9 La fonction moyenne (en anglais mean value function) du processus des
defaillances est la fonction m denie par :
t 0, m(t) = E[N
t
] (2.14)
Pour le cas o` u on ne prend pas en compte les durees de reparation, toutes les mesures
de abilite des syst`emes reparables sexpriment ` a laide de lintensite de defaillance. Par
consequent, construire un modele de abilite des syst`emes reparables (et donc
des logiciels) revient `a proposer une forme particuli`ere pour lintensite de
defaillance.
Dans le cadre de ce cours, nous ne verrons que les 3 classes de mod`eles les plus simples,
caracterisees par les formes dintensite suivantes :
Processus de Poisson homog`enes (HPP)
t
(n; t
1
, . . . , t
n
) =
Mod`eles ` a durees inter-defaillances exponentielles (ETBF)
t
(n; t
1
, . . . , t
n
) =
n+1
Processus de Poisson non homog`enes (NHPP)
t
(n; t
1
, . . . , t
n
) = (t)
2.3 Evaluation des mesures de abilite
Pour evaluer la abilite, le taux de defaillance, la disponibilite ou lintensite de defaillance
dun syst`eme, il faut passer par 2 etapes.
2.3 Evaluation des mesures de abilite 27
1. Modelisation probabiliste. A partir dhypoth`eses sur le fonctionnement du syst`e-
me, leet des reparations et la nature du phenom`ene aleatoire ayant engendre les
defaillances, il faut proposer des mod`eles realistes pour les variables aleatoires im-
pliquees. Par exemple, il faut proposer une loi de probabilite vraisemblable pour la
duree de bon fonctionnement X dun syst`eme non reparable ou pour la suite {X
i
}
i1
des durees inter-defaillances dun syst`eme reparable.
2. Analyse statistique. Les mod`eles proposes ont des param`etres inconnus quil va
falloir estimer. Pour cela, il faut observer le fonctionnement des syst`emes, relever les
instants des defaillances et des reparations, et eectuer une analyse statistique de
ces donnees (quon appelle le retour dexperiences). On va pouvoir ainsi estimer
les caracteristiques de abilite des syst`emes et utiliser ces estimations pour prendre
des decisions qui peuvent etre cruciales en termes de s urete de fonctionnement. Par
exemple, il faut decider si un produit est susamment able pour que lon puisse le
mettre en vente sans risque, ou bien decider de larret des tests. Pour eectuer les
estimations, plusieurs methodes sont possibles, mais on utilise la plupart du temps
la methode du maximum de vraisemblance.
28 Chapitre 2 - Les mesures de abilite
Chapitre 3
Les lois de probabilite usuelles en
abilite
3.1 Introduction
On a dit que la abilite dun syst`eme non reparable est caracterisee par la loi de
probabilite de sa duree de bon fonctionnement X. Quand on sinteresse, dans une approche
bote blanche, ` a un syst`eme complexe constitue de composants interconnectes, on va
chercher ` a determiner la loi de X en fonction des lois des durees de bon fonctionnement
des composants elementaires. Dans une approche bote noire, on sinteressera directement
` a la loi de X, sans chercher ` a decomposer le syst`eme en composants.
Il est donc capital davoir des mod`eles de base pour les lois des durees de bon fonc-
tionnement de syst`emes non reparables simples. Dans ce chapitre, on presente les plus
utilisees de ces lois, essentiellement la loi exponentielle et la loi de Weibull. Pour chaque
loi, on donnera, quand cest possible, lexpression de la abilite, du taux de defaillance
et du MTTF. Dans tout ce chapitre, on supposera que les durees de bon fonctionnement
sont `a valeurs dans R
+
, donc x sera implicitement suppose etre un reel positif.
3.2 La loi exponentielle exp()
Une variable aleatoire X est de loi exponentielle de param`etre > 0, notee exp(), si
et seulement si sa fonction de repartition est :
F(x) = 1 exp(x)
La abilite est R(x) = 1 F(x) do` u :
R(x) = exp(x) (3.1)
La densite est f(x) = F

(x) = exp(x).
La duree de vie moyenne est :
MTTF = E[X] =
_
+
0
R(x) dx =
_
+
0
exp(x) dx =
1

(3.2)
30 Chapitre 3 - Les lois de probabilite usuelles en abilite
Le taux de defaillance est :
h(x) =
f(x)
R(x)
=
exp(x)
exp(x)
= (3.3)
Le taux de defaillance est donc constant, ce qui signie que la loi exponentielle modelise
les durees de vie de syst`emes qui ne susent pas et qui ne sameliorent pas.
On dit aussi que la loi exponentielle est sans memoire, ce quon exprime de la facon
suivante : si le syst`eme nest pas encore tombe en panne ` a linstant t, cest comme sil
etait neuf `a cet instant. Mathematiquement, cela secrit :
x 0, P(X > t + x | X > t) = P(X > x).
On a :
P(X > t + x | X > t) =
P(X > t + x X > t)
P(X > t)
=
P(X > t + x)
P(X > t)
=
R(t + x)
R(t)
Si X est de loi exp(), alors :
P(X > t + x | X > t) =
exp((t + x))
exp(t)
= exp(x) = P(X > x)
donc la loi exponentielle est sans memoire.
Reciproquement, si X est une variable aleatoire sans memoire, alors on a :
P(X > t + x | X > t) =
R(t + x)
R(t)
= P(X > x) = R(x)
Donc la propriete dabsence de memoire implique que R(t + x) = R(t)R(x) pour tout
x 0 et t 0. On en deduit que pour tout x 0 :
R

(x) = lim
x0
R(x + x) R(x)
x
= lim
x0
R(x)R(x) R(x)
x
= R(x) lim
x0
R(x) 1
x
= R(x) R

(0)
Comme R est decroissante, R

(0) est une constante strictement negative que lon note


, avec > 0. Ainsi, R est lunique solution de lequation dierentielle R

(x) = R(x)
avec comme condition initiale R(0) = 1. Autrement dit, on a R(x) = exp(x). Ainsi la
seule loi de probabilite `a densite continue veriant la propriete dabsence de memoire est
la loi exponentielle. Dans le contexte de la abilite, cette absence de memoire sinterpr`ete
comme une absence de vieillissement et une absence de rajeunissement.
Dans la pratique, on dit souvent que lon peut modeliser par une loi exponentielle la
duree de vie de syst`emes qui sont dans leur periode de vie utile, cest-` a-dire qui, dans la
courbe en baignoire, ont depasse la periode de jeunesse et ne sont pas encore entres en
periode dusure. Mais cest une erreur methodologique car la loi de probabilite de X doit
pouvoir modeliser lensemble de la duree de vie du syst`eme.
3.3 La loi de Weibull W(, ) 31
Par consequent, la loi exponentielle ne devrait etre utilisee que pour des syst`emes
qui ne susent pas et ne sameliorent pas. Or tous les syst`emes materiels sont soumis ` a
lusure, donc leur duree de vie devrait avoir a priori un taux de defaillance croissant, au
moins en n de vie. Par contre, un logiciel ne suse pas. Tant quil nest pas modie, sa
propension `a subir une defaillance reste constante. Aussi la loi exponentielle a-t-elle un
r ole preponderant en abilite des logiciels.
Remarque 1 : Le MTTF est exprime par une unite de temps, par exemple lheure. La
relation MTTF = 1/ implique donc quen pratique, on donne pour unite de linverse
dune unite de temps. Cela explique quun objectif de abilite soit souvent exprime en
terme de taux de panne

par heure

, comme dans lexemple de Meteor vu en section
1.6. : on sous-entend un taux de defaillance constant et on se xe comme objectif par
rame < 10
9
h
1
pour le materiel et < 10
11
h
1
pour le logiciel.
Remarque 2 : Si lon admet que la duree de vie dun syst`eme est de loi exponentielle, toute
maintenance preventive est inutile puisque le syst`eme est comme neuf `a chaque instant
tant quil nest pas tombe en panne.
Si la loi exponentielle est de loin la loi de duree de vie la plus utilisee en raison de
sa simplicite, elle ne permet de modeliser ni lusure, ni le rajeunissement. Il est donc
necessaire de disposer de lois plus sophistiquees. En abilite, la loi de Weibull est la plus
populaire dentre elles.
3.3 La loi de Weibull W(, )
Une variable aleatoire X est de loi de Weibull de param`etre dechelle > 0 et de
param`etre de forme > 0, notee W(, ), si et seulement si sa fonction de repartition
est :
F(x) = 1 exp
_

_
x

_
La abilite est :
R(x) = exp
_

_
x

_
(3.4)
La densite est :
f(x) = F

(x) =

_
x

_
1
exp
_

_
x

_
La duree de vie moyenne est MTTF =
_
+
0
exp
_
(x/)

_
dx. Un changement de
variables u = (x/)

permet dobtenir :
MTTF =
_
1

+ 1
_
(3.5)
o` u est la fonction gamma dEuler denie par :
(a) =
_
+
0
x
a1
exp(x) dx (3.6)
32 Chapitre 3 - Les lois de probabilite usuelles en abilite
En particulier, (n) = (n 1)! pour tout n N

.
Le taux de defaillance est :
h(x) =
f(x)
R(x)
=

_
x

_
1
(3.7)
Le taux de defaillance de la loi de Weibull est donc une puissance du temps, ce qui
permet de modeliser de nombreuses situations. En particulier :
si < 1, h est decroissant donc le syst`eme sameliore ;
si > 1, h est croissant donc le syst`eme suse ;
si = 1, h est constant et on retrouve la loi exponentielle comme cas particulier de
la loi de Weibull.
La gure 3.1 donne les graphes des taux de defaillance de la loi de Weibull pour
{0.5, 1, 1.5, 3}.
0.0 0.2 0.4 0.6 0.8 1.0
0
.
0
0
.
5
1
.
0
1
.
5
2
.
0
2
.
5
3
.
0
= 3
= 1.5
= 1
= 0.5
Figure 3.1 Taux de defaillance de la loi de Weibull
Remarquons que pour ]1, 2[, h est concave, donc le syst`eme suse, mais de moins en
moins vite. Linterpretation de ce type dusure est dicile et fait lobjet de controverses.
Pour > 2, h est convexe, ce qui correspond `a une acceleration de lusure. Cela se concoit
plus facilement.
On dit parfois que la loi de Weibull permet de modeliser la periode de jeunesse (pour
< 1), la vie utile (pour = 1) et la periode de vieillissement (pour > 1). L` a encore,
cest une erreur methodologique car on doit representer lensemble de la duree de vie par
une seule loi de probabilite.
La loi de Weibull est tr`es liee ` a la loi exponentielle, dune part parce que la loi expo-
nentielle est une loi de Weibull particuli`ere et dautre part par la propriete suivante.
Proposition 1 Si X est de loi de Weibull W(, ), alors X

est de loi exp(1/

).
3.4 Autres lois usuelles 33
Demonstration.
P(X

> x) = P(X > x


1/
) = exp
_

_
x
1/

_
= exp
_

_
x

__
do` u le resultat.
Une propriete remarquable de la loi de Weibull est que cest lune des lois des valeurs
extremes : pour n variables aleatoires X
1
, . . . , X
n
independantes et de meme loi, la loi
limite de variables aleatoires secrivant a
n
min
n
i=1
X
i
+ b
n
quand on fait tendre n vers
linni, est de trois types possibles. La seule dont le support soit R
+
est la loi de Weibull.
Concr`etement, cela signie que la loi de Weibull est un mod`ele naturel pour des syst`emes
constitues dun tr`es grand nombre de composants et dont la panne survient d`es quun
composant est defaillant (syst`eme serie, voir chapitre 4).
3.4 Autres lois usuelles
3.4.1 La loi gamma G(, )
X est de loi gamma de param`etre de forme > 0 et de param`etre dechelle > 0,
notee G(, ), si et seulement si sa densite est :
f(x) =

()
exp (x) x
1
o` u est la fonction gamma denie en (3.6).
La fonction de repartition de la loi gamma na pas dexpression explicite, donc la
abilite et le taux de defaillance non plus. En revanche, on dispose du MTTF et delements
qualitatifs sur le taux de defaillance :
La duree de vie moyenne est : MTTF =

.
On peut montrer que :
si < 1, h est decroissant donc le syst`eme sameliore ;
si > 1, h est croissant donc le syst`eme suse ;
si = 1, h est constant et on retrouve la loi exponentielle.
Ces 3 cas sont representes dans la gure 3.2.
Pour n entier, G
_
n
2
,
1
2
_
est la loi du chi-2 ` a n degres de liberte, notee
2
n
.
Proposition 2 Si X
1
, . . . , X
n
sont independantes et de meme loi exp(), alors
n

i=1
X
i
est
de loi gamma G(n, ).
Proposition 3 Si X est de loi G(, ) et a est un reel strictement positif, alors aX est
de loi G (, /a).
34 Chapitre 3 - Les lois de probabilite usuelles en abilite
0.0 0.2 0.4 0.6 0.8 1.0
0
.
0
0
.
5
1
.
0
1
.
5
2
.
0
2
.
5
3
.
0
= 1
< 1
> 1
Figure 3.2 Taux de defaillance de la loi gamma
3.4.2 La loi lognormale LN(m,
2
)
X est de loi lognormale de param`etres m R et
2
> 0, notee LN(m,
2
), si et
seulement si ln X est de loi normale N(m,
2
).
La densite est :
f(x) =
1
x

2
exp
_

1
2
2
(ln x m)
2
_
Le MTTF vaut : MTTF = exp
_
m +

2
2
_
.
L` a encore, la fonction de repartition, la abilite et le taux de defaillance de la loi
lognormale nont pas dexpression explicite. En revanche, on peut verier que le taux de
defaillance crot puis decrot en tendant vers 0 (voir la gure 3.3). Ceci peut modeliser
des situations reelles : un syst`eme qui se deteriore puis se met ` a sameliorer au bout dun
moment. En fait lexperience montre que la loi lognormale est plus ` a meme de modeliser
des durees de reparation que des durees de bon fonctionnement.
0 2 4 6 8 10
0
.
0
0
.
2
0
.
4
0
.
6
0
.
8
Figure 3.3 Taux de defaillance de la loi lognormale
3.4 Autres lois usuelles 35
3.4.3 Lois avec taux de defaillance en baignoire
Il est etonnant de constater que, bien quil soit communement admis quen pratique
le taux de defaillance dun syst`eme non reparable a souvent une forme de baignoire, il
existe peu de lois de probabilite de durees de vie possedant cette propriete. Par exemple,
aucune des lois citees jusqu` a maintenant ne rentre dans ce cadre. La facon la plus simple
de construire un taux de defaillance en baignoire est de

raccorder

trois taux de type
Weibull respectivement decroissant, constant et croissant, en faisant en sorte que le taux
resultant soit continu et ` a derivee continue. Par exemple, la gure 2.1 a ete obtenue ` a
partir dun taux de la forme :
h(x) =
_

_
+

1

1
_

1
x

1
_

1
1
si x [0,
1
[
si x [
1
,
2
]
+

2

2
_
x
2

2
_

2
1
si x ]
2
, +[
Dans cette expression, la periode de vie utile est lintervalle [
1
,
2
]. Dautres lois de
probabilite poss`edent des taux de defaillance dont la forme se rapproche dune baignoire,
sans avoir pour autant une periode de vie utile aussi bien delimitee. Notons par exemple :
h(x) = (x)
1
+

(x)
1/1
h(x) = ( + x)x
1
exp(x)
La gure 3.4 donne les graphes des 3 taux de defaillance ci-dessus.
0 20 40 60 80 100
1
.
0
1
.
5
2
.
0
2
.
5
3
.
0
0.0 0.2 0.4 0.6 0.8
2
4
6
8
1
0
1
2
1
4
1
6
0.0 0.2 0.4 0.6 0.8 1.0
4
5
6
7
8
9
1
0
Figure 3.4 Taux de defaillance en baignoire
36 Chapitre 3 - Les lois de probabilite usuelles en abilite
Chapitre 4
Calculs de abilite par structure
4.1 Principes
Le principe des calculs de abilite par structure (ou architecture) est de considerer
quun syst`eme est constitue de composants elementaires, et que sa abilite depend ` a la
fois de la abilite de ses composants et de la fa con dont le bon fonctionnement ou la panne
de chaque composant inue sur le bon fonctionnement ou la panne du syst`eme tout entier.
Il est donc necessaire de representer la logique de fonctionnement du syst`eme.
Plusieurs types de representations sont possibles : diagrammes de abilite, arbres de
defaillance, graphes de Markov, reseaux de Petri, diagrammes de decision binaires, reseaux
bayesiens, etc... On ne sinteressera ici qu`a des syst`emes non reparables et on representera
leur fonctionnement par un diagramme de abilite.
Le diagramme de abilite dun syst`eme est un graphe sans circuit admettant une
entree E et une sortie S, dont :
les sommets, appeles blocs, representent les composants du syst`eme,
les arcs traduisent les relations entre les dierents composants, au sens o` u le syst`eme
fonctionne si et seulement si il existe un chemin allant de E ` a S qui ne passe que
par des composants en fonctionnement.
On peut faire lanalogie avec un reseau de distribution deau : leau nest pas coupee
tant quil existe un chemin dans le reseau qui lui permet daller de son point dentree ` a
son point de sortie.
Remarque : le diagramme de abilite est une representation logique du fonctionnement du
syst`eme, qui na rien `a voir avec une representation physique des liaisons entre les dierents
composants. De meme, il ny a aucune contrainte de precedence dans ces diagrammes.
Exemple : une chane hi- comprend une platine CD (1), un tuner FM (2), un amplicateur
(3) et deux enceintes (4 et 5). Le fonctionnement normal de la chane implique que tous
ces elements fonctionnent. Le diagramme de abilite est alors donne dans la gure 4.1. En
eet, si un seul de ces elements ne fonctionne pas, la chane ne fonctionne pas correctement.
Mais on peut admettre un fonctionnement degrade dans lequel il est susant dentendre
au moins une des deux sources sonores sur au moins une des deux enceintes. Le diagramme
38 Chapitre 4 - Calculs de abilite par structure
Figure 4.1 Diagramme de abilite de la chane hi- en fonctionnement normal
de abilite est alors donne dans la gure 4.2.
Figure 4.2 Diagramme de abilite de la chane hi- en fonctionnement degrade
Si on note X
1
, . . . , X
5
les durees de bon fonctionnement des 5 composants, il est fa-
cile de voir que, dans le premier cas, la duree de bon fonctionnement du syst`eme est
X =
5
min
i=1
X
i
. Dans le deuxi`eme cas, cest moins evident mais on obtient que X =
min (max(X
1
, X
2
), X
3
, max(X
4
, X
5
)).
Quand le nombre de composants augmente, la structure du syst`eme peut se complexi-
er. Dans ce chapitre, nous allons etudier les structures de base les plus simples et donner
une methode permettant de calculer la abilite dun syst`eme pour une structure complexe
quelconque. Les crit`eres de abilite sont un element `a prendre en compte dans le choix
dune architecture pour un syst`eme complexe.
Dans la suite, on consid`erera des syst`emes ` a n composants. Sauf mention contraire, les
fonctionnements des n composants seront supposes independants. Pour le composant i,
on note :
X
i
sa duree de bon fonctionnement,
r
i
(x) = P(X
i
> x) sa abilite,
h
i
(x) son taux de defaillance. r
i
(x) = exp
_

_
x
0
h
i
(u) du
_
.
Pour le syst`eme, on note X sa duree de bon fonctionnement, R(x) sa abilite et h(x)
son taux de defaillance.
4.2 Syst`emes serie
Denition 10 Un syst`eme serie est un syst`eme qui ne fonctionne que si tous ses com-
posants fonctionnent.
Cest le cas de la chaine hi- en fonctionnement normal. Le diagramme de abilite est
4.2 Syst`emes serie 39
similaire `a celui de la gure 4.1, avec n composants au lieu de 5.
Un syst`eme serie tombe en panne d`es quun de ses composants tombe en panne. On a
donc :
X =
n
min
i=1
X
i
La abilite du syst`eme est alors :
R(x) = P(X > x) = P(
n
min
i=1
X
i
> x) = P(i, X
i
> x) = P
_
n

i=1
[X
i
> x]
_
Comme on a suppose les composants independants, la probabilite ci-dessus est la pro-
babilite dune intersection dev`enements independants. Elle est donc egale au produit des
probabilites de ces ev`enements :
R(x) =
n

i=1
P(X
i
> x) =
n

i=1
r
i
(x)
On a donc :
R(x) =
n

i=1
exp
_

_
x
0
h
i
(u) du
_
= exp
_

i=1
_
x
0
h
i
(u) du
_
= exp
_

_
x
0
n

i=1
h
i
(u) du
_
Et comme R(x) = exp
_

_
x
0
h(u) du
_
, on en deduit que :
h(x) =
n

i=1
h
i
(x)
Autrement dit, le taux de defaillance dun syst`eme serie ` a composants independants
est egal ` a la somme des taux de defaillance de ses composants.
Il ny a pas de resultat simple pour le MTTF :
MTTF =
_
+
0
R(x) dx =
_
+
0
n

i=1
r
i
(x) dx =
_
+
0
exp
_

_
x
0
n

i=1
h
i
(u) du
_
dx
Si tous les composants ont un taux de defaillance constant, i, x, h
i
(x) =
i
, donc X
i
est de loi exp(
i
) et r
i
(x) = exp(
i
x). Alors R(x) =
n

i=1
exp(
i
x) = exp
_
[
n

i=1

i
]x
_
et h(x) =
n

i=1

i
est encore constant.
On met donc l` a en evidence une propriete remarquable de la loi exponentielle : si
X
1
, . . . , X
n
sont independantes et de lois respectives exp(
i
), alors X =
n
min
i=1
X
i
est de loi
exp(
n

i=1

i
). Dans ce cas, on a un resultat simple pour le MTTF :
MTTF =
1
n

i=1

i
40 Chapitre 4 - Calculs de abilite par structure
De meme, un syst`eme serie constitue de composants independants et de durees de vie
de lois de Weibull avec le meme param`etre a une duree de vie qui est encore de loi de
Weibull. Enn, on a aussi vu que la duree de vie dun syst`eme serie dont le nombre de
composants tend vers linni a une loi qui tend vers une loi de Weibull.
4.3 Syst`emes parall`eles
4.3.1 Denition et proprietes
Denition 11 Un syst`eme parall`ele est un syst`eme tel quil sut quun seul de ses
composants fonctionne pour quil fonctionne.
Autrement dit, la defaillance du syst`eme survient quand tous ses composants sont en
panne.
Dans les syst`emes parall`eles, on distingue deux cas :
La redondance passive ou stand-by : un seul composant fonctionne ` a la fois.
Quand le composant qui fonctionne tombe en panne, il est instantanement remplace
par un des composants en attente. Dans ce cas, X =
n

i=1
X
i
. La proposition 2 montre
que si tous les composants sont independants et de meme loi exp(), la duree de vie
du syst`eme en redondance passive correspondant est de loi gamma G(n, ).
La redondance active : les n composants fonctionnent en meme temps.
On se place dans la suite de cette section dans le cas de la redondance active. Le
diagramme de abilite est donne dans la gure 4.3.
Figure 4.3 Diagramme de abilite pour un syst`eme parall`ele.
On a evidemment :
X =
n
max
i=1
X
i
La abilite du syst`eme est alors :
R(x) = P(X > x) = P(
n
max
i=1
X
i
> x) = 1 P(
n
max
i=1
X
i
x) = 1 P(i, X
i
x)
4.3 Syst`emes parall`eles 41
Avec des composants independants, on obtient :
R(x) = 1
n

i=1
P(X
i
x) = 1
n

i=1
(1 P(X
i
> x))
do` u nalement :
R(x) = 1
n

i=1
(1 r
i
(x))
En ecrivant R(x) = 1
n

i=1
_
1 exp
_

_
x
0
h
i
(u) du
__
puis h(x) =
R

(x)
R(x)
, on ob-
tient que le taux de defaillance du syst`eme est :
h(x) =
n

i=1
h
i
(x) exp
_

_
x
0
h
i
(u) du
_

j=i
_
1 exp
_

_
x
0
h
j
(u) du
__
1
n

i=1
_
1 exp
_

_
x
0
h
i
(u) du
__
Donc, contrairement au cas dun syst`eme serie, le taux de defaillance dun syst`eme
parall`ele ne sexprime pas facilement en fonction du taux de defaillance de ses composants.
Il ny a pas non plus dexpression simple du MTTF.
4.3.2 Cas o` u tous les composants ont un taux de defaillance
constant
On a :
i, h
i
(x) =
i
.
R(x) = 1
n

i=1
(1 exp(
i
x)).
h(x) =
n

i=1

i
exp(
i
x)

j=i
(1 exp(
j
x))
1
n

i=1
(1 exp(
i
x))
. Donc un syst`eme parall`ele dont tous
les composants ont un taux de defaillance constant, na pas un taux de defaillance
constant !
En developpant la abilite, on obtient :
R(x) =
n

i=1
exp(
i
x)
n

i=1

j=i
exp((
i
+
j
)x) +

i,j,k distincts
exp((
i
+
j
+
k
)x)
. . . + (1)
n+1
exp([
n

i=1

i
]x)
42 Chapitre 4 - Calculs de abilite par structure
do` u on deduit le MTTF :
MTTF =
n

i=1
1

i=1

j=i
1

i
+
j
+

i,j,k distincts
1

i
+
j
+
k
. . . + (1)
n+1
1
n

i=1

i
On montre que lim
t+
h(x) =
n
min
i=1

i
. Cest logique : cest le composant le plus able qui
a tendance ` a tomber en panne le dernier, donc ` a provoquer la panne du syst`eme.
4.3.3 Cas o` u tous les composants sont identiques
On a i, r
i
(x) = r(x). Alors la abilite du syst`eme est :
R(x) = 1 [1 r(x)]
n
Comme r(x) [0, 1], on a [1 r(x)]
n
[1 r(x)]
n+1
, donc 1 [1 r(x)]
n
1 [1
r(x)]
n+1
. Par consequent, quand on augmente le nombre de composants en redondance
dans un syst`eme parall`ele, on augmente la abilite du syst`eme.
Notons que cest linverse pour les syst`emes serie puisque [r(x)]
n
[r(x)]
n+1
.
4.3.4 Gain de abilite par les redondances
Le principe ci-dessus est valable ` a plus grande echelle. En pratique, le moyen le plus
simple pour augmenter la s urete de fonctionnement dun syst`eme est dajouter des re-
dondances, cest-` a-dire de faire fonctionner plusieurs syst`emes identiques en parall`ele. Par
exemple, on met deux phares aux voitures au lieu dun. Evidemment, cela a un co ut et
il faut donc trouver un compromis entre le co ut des redondances et le gain de abilite
quelles entrainent. Pour cela, il faut quantier ce gain de abilite.
Prenons lexemple dun composant de taux de defaillance constant . Admettons que
lon mesure sa abilite par le MTTF, qui vaut ici 1/. De combien la mise en parall`ele de
plusieurs composants identiques et independants va-t-elle augmenter le MTTF?
Si on met en parall`ele n composants, la abilite du syst`eme est R(x) = 1[1r(x)]
n
=
1 [1 exp(x)]
n
.
Donc le MTTF est MTTF =
_
+
0
[1 [1 exp(x)]
n
] dx.
Le changement de variables u = 1 exp(x) permet decrire
MTTF =
_
1
0
1 u
n
(1 u)
du =
1

_
1
0
n1

k=0
u
k
du =
1

n1

k=0
_
1
0
u
k
du
=
1

n1

k=0
_
u
k+1
k + 1
_
1
0
=
1

n1

k=0
1
k + 1
=
1

_
1 +
1
2
+ . . . +
1
n
_
Pour n = 1, on retrouve bien MTTF =
1

. Pour n = 2, on obtient MTTF =


1

_
1 +
1
2
_
=
3
2
. Donc mettre 2 composants au lieu dun (cas des phares) augmente
4.3 Syst`emes parall`eles 43
de moitie le MTTF. Ca ne le double pas, contrairement `a ce quon pourrait peut-etre
croire (cest la redondance passive de 2 composants qui permet de doubler le MTTF).
Pour doubler le MTTF, il faut 4 composants car 1 +
1
2
+
1
3
+
1
4
= 2.083. Pour multi-
plier le MTTF par 10, il faudrait mettre en parall`ele 12369 composants !
Cette evolution lente est due au fait que la serie
n

i=1
1
i
diverge de mani`ere logarith-
mique : lim
n+
_
1 +
1
2
+ . . . +
1
n
ln n
_
= 0.577215 (constante dEuler).
Cela signie quen pratique, on ne peut pas augmenter aussi facilement la s urete de
fonctionnement dun syst`eme en rajoutant des redondances. Par ailleurs, il faut aussi
prendre en compte les contraintes de co ut.
4.3.5 La redondance logicielle
Ce qui fait bien fonctionner la redondance pour les syst`emes materiels, cest lindepen-
dance entre les durees de bon fonctionnement des composants. Si on a deux composants
de durees de vie continues et independantes X
1
et X
2
, on a P(X
1
= X
2
) = 0. Donc
quand un des composants tombe en panne, lautre fonctionne toujours et fait fonctionner
le syst`eme. Ainsi, si on a un probl`eme avec un phare, on peut toujours rouler en utilisant
le deuxi`eme. La probabilite que les deux phares tombent en panne en meme temps est
nulle (sauf si un ev`enement externe perturbe lensemble de la voiture, comme une panne
electrique generale ou un accident, qui provoque ce quon appelle une defaillance de cause
commune).
Si on veut appliquer le principe de la redondance aux logiciels, on ne va evidemment pas
faire fonctionner en parall`ele deux copies du meme logiciel, puisque leur fonctionnement
sera identique. Il faut faire developper deux programmes ayant les memes specications
par deux equipes dierentes. Si on fait fonctionner les deux programmes en meme temps
avec les memes donnees dentree, on peut esperer que quand lun aura une defaillance,
lautre fonctionnera correctement. Mais lexperience montre que ce nest pas aussi simple :
les deux equipes butent sur les memes dicultes et auront tendance ` a faire des fautes aux
memes endroits. Apparemment, cest ce qui sest passe pour la panne geante du reseau
mobile de Bouygues Telecom en novembre 2004 : deux serveurs en parall`ele sont tombes
en panne en meme temps.
En conclusion, lindependance des durees de bon fonctionnement, valable pour la plu-
part des materiels, ne lest plus pour les logiciels. Donc la redondance logicielle est loin
detre aussi ecace que la redondance materielle. Il reste que la redondance logicielle aug-
mente quand meme la abilite des logiciels, meme si on ne sait pas quantier cette augmen-
tation. Cest donc une methode souvent utilisee. Par exemple, Airbus utilise une redon-
dance logicielle sur la chane de commande et surveillance des avions. A noter egalement
que la redondance logicielle est tr`es ch`ere puisquil faut deux equipes de developpeurs.
44 Chapitre 4 - Calculs de abilite par structure
4.4 Syst`emes k/n
Denition 12 Un syst`eme k/n est un syst`eme qui ne fonctionne que si au moins k
composants parmi n fonctionnent.
Par exemple, le syst`eme de contr ole-commande de la temperature dun reacteur chi-
mique ou nucleaire est concu selon une architecture 2/3.
k = 1 correspond ` a un syst`eme parall`ele.
k = n correspond `a un syst`eme serie.
On ne peut pas representer ce mode de fonctionnement par un diagramme de abilite
usuel.
La abilite R(x) est la probabilite que k composants au moins parmi n fonctionnent
encore ` a linstant x. Si on note N
x
le nombre de composants qui fonctionnent ` a linstant
x, on a :
R(x) = P(N
x
k)
Dans le cas general, on ne peut rien dire de plus. Mais si on suppose que tous les
composants sont identiques et independants, de meme abilite r(x), alors la variable
aleatoire N
x
est de loi binomiale B(n, r(x)), ce qui permet de calculer :
R(x) =
n

j=k
C
j
n
r(x)
j
[1 r(x)]
nj
Pour k = n, on obtient R(x) = r(x)
n
. Cest bien la abilite dun syst`eme serie.
Pour k = 1, on obtient :
R(x) =
n

j=1
C
j
n
r(x)
j
[1 r(x)]
nj
=
n

j=0
C
j
n
r(x)
j
[1 r(x)]
nj
C
0
n
r(x)
0
[1 r(x)]
n0
= [r(x) + 1 r(x)]
n
[1 r(x)]
n
= 1 [1 r(x)]
n
Cest bien la abilite dun syst`eme parall`ele.
4.5 Syst`emes mixtes
Les syst`emes mixtes sont obtenus en combinant les syst`emes serie et les syst`emes
parall`eles.
4.5.1 Syst`emes serie-parall`ele
Denition 13 Un syst`eme serie-parall`ele resulte de la mise en parall`ele de sous-
syst`emes serie.
4.5 Syst`emes mixtes 45
Figure 4.4 Diagramme de abilite pour un syst`eme serie-parall`ele
Le diagramme de abilite est donne dans la gure 4.4.
Si on note r
ij
(x) la abilite du j
`eme
composant de la i
`eme
branche, les resultats
precedents montrent que la abilite est :
R(x) = 1
p

i=1
_
1
n
i

j=1
r
ij
(x)
_
4.5.2 Syst`emes parall`ele-serie
Denition 14 Un syst`eme parall`ele-serie resulte de la mise en serie de sous-syst`emes
parall`eles.
Le diagramme de abilite est donne dans la gure 4.5.
Figure 4.5 Diagramme de abilite pour un syst`eme parall`ele-serie
Avec les memes notations que precedemment, on obtient que la abilite est :
R(x) =
p

i=1
_
1
n
i

j=1
[1 r
ij
(x)]
_
La chane hi- avec fonctionnement degrade est un syst`eme parall`ele-serie. Sa abilite
est :
R(x) = [1 (1 r
1
(x))(1 r
2
(x))] r
3
(x) [1 (1 r
4
(x))(1 r
5
(x))]
46 Chapitre 4 - Calculs de abilite par structure
4.6 La methode de factorisation
De nombreux syst`emes ne sont pas des syst`emes serie, parall`eles, k/n ou mixtes. Cest
le cas du syst`eme dit en pont, dont le diagramme de abilite est donne dans la gure
4.6.
Figure 4.6 Diagramme de abilite pour un syst`eme en pont
Pour calculer sa abilite, on va utiliser la methode de factorisation. Celle-ci consiste
` a eectuer des conditionnements successifs qui vont permettre de se ramener `a des syst`emes
mixtes.
On note B
i
(x) lev`enement [X
i
> x], signiant que le composant i fonctionne entre 0
et x. De meme, on note B(x) lev`enement [X > x], signiant que le syst`eme fonctionne
entre 0 et x. La abilite du composant i est r
i
(x) = P(B
i
(x)) et la abilite du syst`eme
est R(x) = P(B(x)).
Le theor`eme des probabilites totales permet decrire :
R(x) = P(B(x)) = P(B(x)|B
3
(x)) P(B
3
(x)) +P(B(x)|B
3
(x)) P(B
3
(x))
= R
A
(x) r
3
(x) + R
B
(x) (1 r
3
(x))
o` u R
A
(x) est la abilite du syst`eme quand on sait que le composant 3 fonctionne, cest-` a-
dire la abilite du syst`eme A donne par la gure 4.7, et R
B
(x) est la abilite du syst`eme
quand on sait que le composant 3 ne fonctionne pas, cest-`a-dire la abilite du syst`eme B
donne par la gure 4.8.
Figure 4.7 Syst`eme en pont, 3 fonc-
tionne
Figure 4.8 Syst`eme en pont, 3 en panne
Il est clair que le syst`eme A est equivalent ` a un syst`eme parall`ele-serie, dont la abilite
est :
R
A
(x) = [1 (1 r
1
(x))(1 r
2
(x))] [1 (1 r
4
(x))(1 r
5
(x))]
4.6 La methode de factorisation 47
De meme, le syst`eme B est un syst`eme serie-parall`ele, dont la abilite est :
R
B
(x) = 1 [1 r
1
(x)r
4
(x)] [1 r
2
(x)r
5
(x)]
Finalement, la abilite du syst`eme en pont est :
R(x) = r
3
(x) [1 (1 r
1
(x))(1 r
2
(x))] [1 (1 r
4
(x))(1 r
5
(x))]
+(1 r
3
(x)) [1 [1 r
1
(x)r
4
(x)] [1 r
2
(x)r
5
(x)]]
Si tous les composants sont identiques, on obtient :
R(x) = r(x)
_
1 (1 r(x))
2

2
+ (1 r(x))
_
1 (1 r
2
(x))
2

= r
2
(x)
_
2 + 2r(x) 5r
2
(x) + 2r
3
(x)

Si les composants ont un taux de defaillance constant , r(x) = exp(x), do` u :


R(x) = 2 exp(2x) + 2 exp(3x) 5 exp(4x) + 2 exp(5x)
On en deduit facilement la duree de vie moyenne du syst`eme :
MTTF =
_
+
0
R(x) dx =
2
2
+
2
3

5
4
+
2
5
=
49
60
= 0.82
1

Le MTTF du syst`eme vaut donc 82 % du MTTF de ses composants.


Le taux de defaillance est :
h(x) =
R

(x)
R(x)
=
4exp(2x) + 6exp(3x) 20exp(4x) + 10exp(5x)
2 exp(2x) + 2 exp(3x) 5 exp(4x) + 2 exp(5x)
On a lim
x+
h(x) = 2. Cela signie quau bout dun moment, le syst`eme se com-
porte comme deux composants en serie, qui est la conguration minimale avant la panne
denitive. La forme du taux de defaillance est donnee dans la gure 4.9.
Figure 4.9 Taux de defaillance du syst`eme en pont
48 Chapitre 4 - Calculs de abilite par structure
Chapitre 5
Fiabilite dun logiciel non corrige : le
processus de Poisson homog`ene
5.1 Rappels et denitions
On revient maintenant dans le cadre correspondant aux donnees presentees dans le
chapitre 1. A un instant initial, on a mis en fonctionnement un syst`eme informatique
et on a releve ses instants de defaillance et de redemarrage successifs. Comme on la vu
sur lexemple, les durees de non fonctionnement (entre une panne et un redemarrage)
sont souvent dune part negligeables par rapport aux durees de bon fonctionnement et
dautre part dicilement exploitables. On va donc considerer ici que les durees de non
fonctionnement ne sont pas comptabilisees et ne prendre en compte que les durees de bon
fonctionnement successives. Apr`es chaque defaillance, le logiciel peut etre corrige ou pas.
On est donc dans le cas, vu au chapitre 2, o` u les durees de reparation ne sont pas
comptabilisees. Rappelons alors que le processus des defaillances, dont une trajectoire est
representee dans la gure 5.1, est deni indieremment par :
la suite des instants de defaillance {T
i
}
i1
, avec T
0
= 0.
la suite des durees inter-defaillances {X
i
}
i1
o` u i 1, X
i
= T
i
T
i1
est la duree
entre la (i 1)
`eme
et la i
`eme
defaillance. T
i
=
i

j=1
X
j
.
le processus de comptage des defaillances {N
t
}
t0
, o` u N
t
est le nombre cumule de
defaillances survenues entre 0 et t.
Alors on a vu que :
La abilite ` a linstant t est une fonction qui donne la probabilite que le syst`eme
fonctionne sans defaillance pendant au moins une certaine duree apr`es t, sachant
tout le passe du processus `a linstant t :
R
t
(; n, t
1
, . . . , t
n
) = P(T
n+1
> t + |N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
)
= P(N
t+
N
t
= 0|N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
)
Le processus des defaillances est enti`erement determine par les taux de defaillance
conditionnels des durees inter-defaillance sachant le passe h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(x) ou
50
Chapitre 5 - Fiabilite dun logiciel non corrige : le processus de Poisson
homog`ene
-
6
T
0
T
1
T
2
T
3
T
4
T
5
t
N
t
1
2
3
4
5

- - - - -
X
1
X
2
X
3
X
4
X
5
Figure 5.1 Trajectoire du processus des defaillances
par son intensite de defaillance :

t
(n; t
1
, . . . , t
n
) = h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(t t
n
)
La fonction moyenne du processus est m(t) = E[N
t
].
Nous avons vu dans le chapitre 2 les liens entre R
t
et
t
, ainsi que des expressions
generales pour le MTTF et les lois de probabilite de T
n+1
et N
t
. Dans la suite du cours,
nous allons reutiliser ces resultats dans des cas particuliers de mod`eles construits ` a partir
de formes particuli`eres de lintensite
t
.
Par ailleurs, nous avons vu que la loi exponentielle poss`ede la propriete dabsence de
memoire, ce qui fait quon lutilise pour modeliser les durees de bon fonctionnement de
syst`emes non reparables qui ne susent pas et ne sameliorent pas. Or un logiciel poss`ede
naturellement la propriete dabsence dusure : tant quun logiciel nest pas modie, sa pro-
pension ` a subir une defaillance reste constante. Par consequent, entre deux corrections (ou
entre deux defaillances puisquinstants de corrections et de defaillances sont confondus),
lintensite de defaillance dun logiciel doit rester constante. Cela signie que les durees
entre defaillances X
i
doivent etre des variables aleatoires de loi exponentielle.
Nous allons nous placer dans ce chapitre dans le cas le plus simple, celui o` u le logiciel
nest jamais corrige et est relance en letat apr`es chaque defaillance. Cest le cas dun
logiciel en client`ele ou entre deux mises ` a jours, maintenances ou versions. On dit que lon
est en situation de abilite stabilisee.
Alors, apr`es chaque defaillance, on redemarre le syst`eme toujours dans la meme situa-
tion. Il est donc normal de considerer que les durees inter-defaillances seront independantes
et de meme loi. La conjonction de ces deux hypoth`eses fait que le mod`ele ` a utiliser est le
suivant :
Denition 15 Pour un logiciel non corrige, les durees inter-defaillances X
i
sont indepen-
dantes et de meme loi exponentielle exp(). On dit que le processus des defaillances est
un processus de Poisson homog`ene (HPP pour Homogeneous Poisson Process) de
param`etre .
5.2 Proprietes des processus de Poisson homog`enes 51
La signication du nom HPP apparatra ulterieurement.
Lindependance des durees inter-defaillances fait que la loi de X
n+1
sachant [T
1
=
t
1
, . . . , T
n
= t
n
] ne depend pas de t
1
, . . . , t
n
. Cest la loi de X
n+1
, donc la loi exp(), dont
le taux de defaillance est constant et vaut . Par consequent, on a :

t
(n; t
1
, . . . , t
n
) = h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(t t
n
) = h
X
n+1
(t t
n
) =
Par consequent, lintensite de defaillance du syst`eme est constante, ce qui exprime que
la propension du syst`eme `a tomber en panne est toujours la meme au cours du temps.
Cest logique compte-tenu des hypoth`eses eectuees.
Nous allons etudier en detail ce cas particulier pour illustrer la demarche devaluation
de abilite, depuis la construction du mod`ele jusquau calcul operationnel des previsions
de abilite ` a partir des donnees.
5.2 Proprietes des processus de Poisson homog`enes
5.2.1 Lois des durees inter-defaillances
Par denition du mod`ele, les durees inter-defaillances X
i
sont independantes et de
meme loi exponentielle exp(). On a donc i 1, x R
+
:
densite : f
X
i
(x) = exp(x),
fonction de repartition : F
X
i
(x) = 1 exp(x),
esperance : E[X
i
] =
1

. Le param`etre sinterpr`ete donc comme linverse de la duree


moyenne entre deux defaillances.
5.2.2 Lois des instants de defaillances
Dapr`es la proposition 2 du chapitre 3, si X
1
, . . . , X
n
sont independantes et de meme
loi exp(), alors T
n
=
n

i=1
X
i
est de loi gamma G(n, ), dont la densite est :
f
T
n
(t) =

n
(n 1)!
exp(t) t
n1
La duree moyenne dattente de la n
`eme
defaillance est donc E[T
n
] =
n

.
5.2.3 Loi du nombre de defaillances survenues `a chaque instant
Pour determiner la loi de N
t
, on peut remarquer que sil y a eu plus de n defaillances
` a linstant t, cest que linstant de la n
`eme
defaillance est inferieur ` a t. Par consequent :
P(N
t
n) = P(T
n
t) =
_
t
0
f
T
n
(x)dx =
_
t
0

n
(n 1)!
exp(x) x
n1
dx =

n
(n 1)!
I
n
52
Chapitre 5 - Fiabilite dun logiciel non corrige : le processus de Poisson
homog`ene
avec I
n
=
_
t
0
exp(x) x
n1
dx. En integrant par parties, on obtient :
I
n
=
t
n
n
exp(t) +

n
I
n+1
Alors :
P(N
t
n) =

n
(n 1)!
_
t
n
n
exp(t) +

n
I
n+1
_
=
(t)
n
n!
exp(t) +

n+1
n!
I
n+1
=
(t)
n
n!
exp(t) +P(N
t
n + 1)
Do` u :
P(N
t
= n) = P(N
t
n) P(N
t
n + 1) =
(t)
n
n!
exp(t) (5.1)
ce qui prouve que N
t
est de loi de Poisson P(t). Ce resultat classique a donne son nom
au processus de Poisson homog`ene.
On peut montrer en fait que le processus aleatoire {N
t
}
t0
est ` a accroissements indepen-
dants, cest ` a dire que, pour 0 < s < t, N
t
N
s
est independant de ce qui sest passe
avant s, et que N
t
N
s
est de loi P((t s)).
La fonction moyenne donne le nombre moyen de defaillances survenues entre 0 et t :
m(t) = E[N
t
] = t
Elle est proportionnelle ` a t, ce qui est logique puisque lintensite de defaillance est
constante.
5.2.4 Fiabilite
La abilite est :
R
t
(; n, t
1
, . . . , t
n
) = P(N
t+
N
t
= 0|N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
)
La propriete daccroissements independants entrane que
R
t
(; n, t
1
, . . . , t
n
) = P(N
t+
N
t
= 0)
Et comme N
t+
N
t
est de loi P((t + t)) = P(), on a :
t 0, n 1, t
1
. . . , t
n
t, R
t
(; n, t
1
, . . . , t
n
) = exp()
La abilite est donc independante de linstant auquel on la calcule. On la note alors
simplement R() = exp(). Cest une autre facon de considerer que la abilite est
stabilisee. Cest la propriete dabsence de memoire de la loi exponentielle qui explique ce
phenom`ene.
5.3 Estimation de la abilite 53
5.2.5 MTTF
MTTF
t
(n; t
1
, . . . , t
n
) = E[T
n+1
t | N
t
= n, T
1
= t
1
, . . . , T
n
= t
n
]
=
_
+
0
R
t
(; n, t
1
, . . . , t
n
) d =
_
+
0
exp() d
=
1

Donc le MTTF est independant de linstant auquel on le calcule, pour les memes raisons
que precedemment. Par consequent, quel que soit linstant auquel on se place, la duree
moyenne dattente de la prochaine defaillance est
1

.
Ce phenom`ene est parfois connu sous le nom de paradoxe du bus : si les instants de
passage des bus `a un arret se font selon un HPP dintensite , alors la duree moyenne
dattente du bus pour un passager arrivant ` a cet arret sera la meme, quel que soit le temps
ecoule depuis le passage du bus precedent. Bien s ur, dans la pratique, les passages des
bus ne se font pas selon un HPP.
5.3 Estimation de la abilite
Les resultats probabilistes ci-dessus permettent de calculer toutes les mesures interes-
santes de abilite des logiciels. Elles sexpriment toutes `a laide du param`etre inconnu
. Pour avoir une evaluation de ces mesures, il faut donner une valeur ` a , cest-` a-dire
estimer ce param`etre.
Pour cela, on se place ` a linstant de la n
`eme
defaillance t
n
et on va estimer au vu de
la suite des durees inter-defaillances successives x
1
, . . . , x
n
par la methode du maximum
de vraisemblance.
La fonction de vraisemblance associee `a lobservation de variables aleatoires X
1
, . . . X
n
independantes et de meme loi est :
L(; x
1
, . . . , x
n
) = f
(X
1
,...,X
n
)
(x
1
, . . . , x
n
) =
n

i=1
f
X
i
(x
i
)
On obtient donc ici :
L(; x
1
, . . . , x
n
) =
n

i=1
exp(x
i
) =
n
exp(
n

i=1
x
i
)
Lestimateur de maximum de vraisemblance est la valeur de qui maximise cette
fonction, ou, de mani`ere equivalente, son logarithme :
ln L(; x
1
, . . . , x
n
) = nln
n

i=1
x
i
Pour maximiser ce logarithme, on annule sa derivee par rapport `a :

ln L(; x
1
, . . . , x
n
) =
n

i=1
x
i
54
Chapitre 5 - Fiabilite dun logiciel non corrige : le processus de Poisson
homog`ene
Lestimateur de maximum de vraisemblance de est donc :

n
=
n
n

i=1
X
i
=
n
T
n
=
1
Xn
Remarquons que, puisque la duree moyenne entre deux defaillances successives est
E[X
i
] = 1/, il semble naturel destimer par linverse de la moyenne des durees inter-
defaillances observees. Cest le principe de la methode destimation des moments.
Comme dans toute etude statistique, il faut se poser la question de la qualite de cet
estimateur : est-il sans biais, convergent, ecace ?

n
est sans biais si et seulement si E(

n
) = . Or :
E(

n
) = E
_
n
T
n
_
=
_
n
u
f
T
n
(u) du = n
_
+
0
1
u

n
(n 1)!
exp(u) u
n1
du
=
n
n 1
_
+
0

n1
(n 2)!
exp(u) u
n2
du =
n
n 1
_
+
0
f
T
n1
(u) du
=
n
n 1
E(

n
) = , donc

n
est biaise. Mais

n
=
n 1
n

n
=
n 1
T
n
(5.2)
est un estimateur sans biais de .
On peut montrer que cet estimateur est convergent au sens o` u lim
n+
V ar(

n
) = 0. Il
est asymptotiquement ecace, au sens o` u sa variance est asymptotiquement egale ` a la
borne de Cramer-Rao, borne inferieure de toutes les variances possibles destimateurs sans
biais. En fait, on peut montrer que cet estimateur est sans biais et de variance minimale
(ESBVM), donc cest lestimateur optimal de . On peut alors sen servir pour faire des
previsions sur le futur du processus. Par exemple :
La abilite R() = exp() peut etre estimee par

R
n
() = exp(

n
) ou par

n
() = exp(

n
).
Le MTTF =
1

peut etre estime par


1

n
=
T
n
n
= X
n
ou par
1

n
=
T
n
n 1
.
Mais ce nest pas parce que

n
est lestimateur optimal de que exp(

n
) sera
lestimateur optimal de exp() ni que
1

n
sera lestimateur optimal de
1

. En fait, on
montre que :
Lestimateur optimal de R() = exp() est

R() =
_
1

T
n
_
n1
.
5.4 Application aux donnees de lexemple 55
Lestimateur optimal de MTTF =
1

est

MTTF
n
=
1

n
= X
n
.
Remarque : quand il ny a pas de correction, la abilite est stable donc ca na aucun sens
de faire des calculs du type temps de test necessaire pour atteindre un objectif xe de
abilite.
5.4 Application aux donnees de lexemple
Pour notre exemple de reference, on a n = 24, x
1
= 0.63, . . . , x
24
= 545.38, do` u
t
n
=
n

i=1
x
i
= 7063.12. Alors, si on admet que ces donnees sont issues dun HPP, on a :

n
=
n 1
t
n
= 3.256 10
3
.


MTTF
n
=
t
n
n
= 294.3, donc on prevoit une duree moyenne dattente entre defaillances
de 294.3 h.
La prevision de abilite `a 100 heures est

R(100) =
_
1
100
7063.12
_
23
= 0.72. On
estime donc quil y a 72% de chances (seulement) que la prochaine defaillance ne
survienne pas dans les 100 prochaines heures.
Evidemment, ces valeurs numeriques nont de sens que si le mod`ele propose est bien
adapte au jeu de donnees. Or, dune part des corrections ont ete apportees au logiciel au
fur et `a mesure de lapparition des defaillances, et dautre part les donnees semblent bien
exhiber une croissance de abilite. Donc il nest pas logique dappliquer un mod`ele de
processus de Poisson homog`ene ` a ces donnees.
Il parat donc indispensable dutiliser une procedure de validation de mod`eles. Dans
le cas traite ici, puisque les X
i
sont independantes et de meme loi exponentielle, il sut
dappliquer un test dadequation ` a la loi exponentielle. Quand on le fait, lhypoth`ese
dexponentialite est rejetee, ce qui prouve quil faut proposer dautres mod`eles pour ce
jeu de donnees.
5.5 Validation des logiciels
On peut appliquer le cadre de modelisation presente ici au probl`eme de validation des
logiciels. Si on veut baser la validation sur une mesure de abilite, un crit`ere usuel est
de considerer que le logiciel est valide si son intensite de defaillance est inferieure ` a un
seuil critique
0
xe `a lavance. Par exemple, pour le cas de Meteor cite dans le chapitre
1,
0
= 10
11
par rame et par heure. Il revient au meme de considerer que le logiciel est
valide si sa abilite depasse un certain seuil puisque <
0
exp() > exp(
0
).
Il sagit donc, au vu des observations, de trancher entre les deux hypoth`eses <
0

et
0
. Cela peut se faire ` a laide dun test statistique dhypoth`eses.
Dans un test, lhypoth`ese que lon cherche `a montrer (ici la validation du logiciel) doit
etre lhypoth`ese alternative. On va donc eectuer un test de H
0
:
0
contre H
1
:
56
Chapitre 5 - Fiabilite dun logiciel non corrige : le processus de Poisson
homog`ene
<
0
.
5.5.1 Validation en presence de defaillances
Un test est determine par sa region critique, ensemble des valeurs des observations
pour lesquelles on rejettera H
0
au prot de H
1
. Le seuil du test est la probabilite
maximale de rejeter ` a tort H
0
. Ici, il est naturel de conclure que <
0
si

n
est
signicativement inferieur ` a
0
. On propose donc une region critique de la forme W =
_

n
< l

_
. Autrement dit, si lintensite estimee est susamment petite, on va conclure
que lobjectif de abilite est atteint, avec une faible probabilite de se tromper.
La valeur de l

est determinee en ecrivant que le seuil du test est la probabilite


maximale de rejeter H
0
alors que H
0
est vraie :
= sup
H
0
P(

n
< l

) = sup

0
P
_
n 1
T
n
< l

_
= sup

0
P
_
T
n
>
n 1
l

_
T
n
est de loi gamma G(n, ), qui est peu maniable. On pref`ere utiliser la loi du chi-deux,
que lon obtient facilement en ecrivant que :
2T
n
;G
_
n,

2
_
= G
_
n,
1
2
_
= G
_
2n
2
,
1
2
_
=
2
2n
On dit que 2T
n
est une fonction pivotale. Alors,
= sup

0
P
_
2T
n
> 2
n 1
l

_
= sup

0
_
1 F

2
2n
_
2
n 1
l

__
(5.3)
Une fonction de repartition est croissante, donc le terme entre crochets est une fonction
decroissante de . Son maximum pour
0
est donc atteint en =
0
. Par consequent :
= 1 F

2
2n
_
2
0
n 1
l

_
=2
0
n 1
l

= F
1

2
2n
(1 ) =l

=
2
0
(n 1)
F
1

2
2n
(1 )
(5.4)
Et nalement la region critique est :
W =
_

n
<
2
0
(n 1)
F
1

2
2n
(1 )
_
(5.5)
est une probabilite derreur, que lon se xe. Prenons par exemple = 5%. Dans
lexemple, n = 24. La table de la loi du
2
permet detablir que F
1

2
48
(0.95) 65.2, do` u
W =
_

n
< 0.71
0
_
.
On pourra donc conclure avec moins de 5% de chances de se tromper que <
0
si

n
< 0.71
0
, cest-`a-dire si lintensite de defaillance estimee est ` a peu pr`es inferieure aux
trois quarts de lintensite de defaillance objectif.
5.5 Validation des logiciels 57
5.5.2 Validation en labsence de defaillances
Quand la procedure de developpement du logiciel a ete de bonne qualite, il est possible
quaucune defaillance ne survienne sur la periode dobservation. On ne peut alors pas
estimer lintensite de defaillance autrement que par 0 et la procedure ci-dessus est
inapplicable (n = 0).
Pour valider le logiciel, on peut alors utiliser le crit`ere suivant : le logiciel sera valide
si sa duree de bon fonctionnement sans defaillances est superieure ` a un certain seuil.
Autrement dit, si lon na pas observe de defaillance au bout dun temps assez long, on
en conclut que le logiciel est susamment able.
Mathematiquement, cela signie que lon prend une region critique de la forme W =
{T
1
> l

}. Alors, pour xe, l

est choisi de sorte que :


= sup
H
0
P(T
1
> l

) = sup

0
exp(l

) = exp(
0
l

)
puisque T
1
est de loi exp(). Do` u
0
l

= ln et :
l

=
ln

0
= ln MTTF
0
o` u MTTF
0
=
1

0
est le MTTF objectif. Alors la region critique est
W = {T
1
> ln MTTF
0
}
Pour = 5%, ln = 2.996 3. Donc, pour valider un logiciel avec moins de 5%
de chances de se tromper, il faut le faire fonctionner sans defaillances pendant une duree
superieure ` a 3 fois le MTTF objectif.
Pour des logiciels ` a haute exigence de securite, cela fait une duree de tests prohibitive.
Dans lexemple de Meteor, lintensite de defaillance objectif etait de 10
11
par rame et
par heure, ce qui fait une duree de test sans defaillance de 3 10
11
heures, cest-`a-dire 30
millions dannees... On peut evidemment reduire cette duree en parall`elisant les tests,
mais il est clair quon narrivera jamais `a valider un objectif aussi fort de abilite en un
temps raisonnable.
Il nest donc pas possible devaluer avec precision la abilite de syst`emes ` a tr`es haut ni-
veau de s urete. Mais les methodes presentees ici permettent dobtenir des bornes inferieures
pour la abilite, ce qui est quand meme utile pour quantier la conance dans la s urete
du logiciel.
Lapplication aux donnees de lexemple a montre la necessite dutiliser des mod`eles
prenant en compte la qualite des corrections eectuees. Cest ce que nous allons faire
dans les deux derniers chapitres du cours, avec les mod`eles ETBF et NHPP.
58
Chapitre 5 - Fiabilite dun logiciel non corrige : le processus de Poisson
homog`ene
Chapitre 6
Les mod`eles `a durees
inter-defaillances exponentielles
(ETBF)
6.1 Denition et proprietes
On se place comme dans le chapitre precedent dans le cas o` u on observe les durees
inter-defaillances successives X
i
dun logiciel et o` u les durees de reparation ne sont pas
comptabilisees. La propriete dabsence dusure des logiciels fait quon supposera encore
que les X
i
sont de lois exponentielles. Mais cette fois, on va considerer que lon corrige le
logiciel apr`es chaque defaillance, ce qui fait que les X
i
ne seront pas de meme loi. Enn,
il ny a pas de raison particuli`ere de supposer une dependance entre les X
i
. On aboutit
alors `a la denition suivante :
Denition 16 Les mod`eles `a durees inter-defaillances exponentielles (ETBF Pour
Exponential Times Between Failures) sont les mod`eles de abilite des logiciels tels que les
durees inter-defaillances X
i
sont independantes et de lois exponentielles de param`etres
respectifs
i
, exp(
i
).
Lindependance des durees inter-defaillances fait que la loi de X
n+1
sachant [T
1
=
t
1
, . . . , T
n
= t
n
] ne depend pas de t
1
, . . . , t
n
. Cest la loi de X
n+1
, qui est une loi exponen-
tielle, de taux de defaillance constant
n+1
. Par consequent, lintensite de defaillance des
mod`eles ETBF verie :

t
(n; t
1
, . . . , t
n
) = h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(t t
n
) = h
X
n+1
(t t
n
) =
n+1
Cest une fonction en escalier, dont une trajectoire est representee sur la gure 6.1.
La correction a pour eet de modier lintensite de defaillance : une bonne correction
diminuera lintensite (
n+1
<
n
, cas des 2 premi`eres corrections sur la gure 6.1), une
mauvaise correction laugmentera (
n+1
>
n
, cas de la troisi`eme correction sur cette
gure).
En appliquant des resultats generaux sur les processus de defaillance `a une intensite
de cette forme, on obtient les principales proprietes de ces mod`eles, donnees ci-dessous.
60Chapitre 6 - Les mod`eles `a durees inter-defaillances exponentielles (ETBF)
T
4
T
3
T
2
T
1 t
0

t
Figure 6.1 Intensite dun mod`ele ETBF
6.1.1 Loi des instants de defaillance
La loi de T
n
=
n

i=1
X
i
est la loi de la somme de variables aleatoires independantes et de
lois exponentielles. Si les
i
sont tous distincts, on montre que cette variable aleatoire est
de loi hypoexponentielle, denie par sa densite :
f
T
n
(t) =
n

i=1
n

j=1

j
n

j=1
j=i
(
j

i
)
exp(
i
t) (6.1)
On a bien entendu E(T
n
) =
n

i=1
E(X
i
) =
n

i=1
1

i
.
6.1.2 Loi du nombre de defaillances survenues `a chaque instant
En partant de P(N
t
= n) = P(T
n
t < T
n+1
) = P(T
n
t)P(T
n+1
t) et en utilisant
(6.1), on obtient :
P(N
t
= n) =
n+1

i=1
n

j=1

j
n+1

j=1
j=i
(
j

i
)
exp(
i
t) (6.2)
Ce nest pas une loi de probabilite usuelle et son esperance na pas dexpression simple.
6.1.3 Fiabilite et MTTF
Lhypoth`ese dabsence de memoire de la loi exponentielle fait que la abilite et le
MTTF `a linstant t ne dependent que du nombre de defaillances survenues :
R
t
(; n, t
1
, . . . , t
n
) = exp(
n+1
) (6.3)
6.2 Le mod`ele de Jelinski-Moranda 61
MTTF
t
(n, t
1
, . . . , t
n
) =
1

n+1
(6.4)
6.1.4 Fonction de vraisemblance
Dans la mesure o` u les X
i
sont independantes et de lois exponentielles, pour un mod`ele
ayant pour param`etre , la fonction de vraisemblance associee `a lobservation de x
1
, . . . , x
n
est :
L(; x
1
, . . . , x
n
) =
n

i=1
f
X
i
(x
i
) =
n

i=1

i
exp(
i
x
i
) =
_
n

i=1

i
_
exp
_

i=1

i
x
i
_
(6.5)
Pour aller plus loin, il faut faire des hypoth`eses sur la forme de
i
. On va voir dans
la suite de ce chapitre les deux plus connus des mod`eles ETBF, le mod`ele de Jelinski-
Moranda et le mod`ele geometrique de Moranda.
6.2 Le mod`ele de Jelinski-Moranda
Le mod`ele de Jelinski-Moranda [9] est historiquement tr`es important car cest le tout
premier mod`ele de abilite des logiciels, propose en 1972. Il repose sur les hypoth`eses
suivantes :
Le logiciel contient `a linstant initial un nombre inconnu N de fautes.
Quand une defaillance survient, la faute qui la provoquee est eliminee parfaitement.
Aucune nouvelle faute nest introduite.
Lintensite de defaillance est proportionnelle au nombre de fautes residuelles.
Soit le coecient de proportionnalite. Au depart, le logiciel contient N fautes, donc

1
= N. A la premi`ere defaillance, on corrige parfaitement la faute responsable, donc il
reste N 1 fautes et
2
= (N 1). En continuant ainsi, on aboutit `a
i
= (N i +1)
pour tout i N, do` u la denition suivante :
Denition 17 Le mod`ele de Jelinski-Moranda (JM) est deni de mani`ere equivalente
par :
Pour t < t
N
,
t
(n; t
1
, . . . , t
n
) = (N n) , R
+
, N N. Pour t t
N
,
t
= 0.
Pour i N, les X
i
sont independantes et de lois respectives exp ((N i + 1) ).
N est le nombre de fautes initiales, donc cest un param`etre entier. est un param`etre
reel positif qui represente la qualite des corrections successives. Cette qualite est la meme
` a chaque correction, comme on peut le voir sur la gure 6.2, qui represente une trajectoire
de lintensite de defaillance dun mod`ele JM.
Pour obtenir les proprietes du mod`ele JM, il sut de remplacer
i
par (N i + 1)
dans les expressions fournies dans la section precedente. Le resultat le plus remarquable
est la simplicite de la loi du nombre de defaillances survenues ` a chaque instant, N
t
.
62Chapitre 6 - Les mod`eles `a durees inter-defaillances exponentielles (ETBF)
0 1000 2000 3000 4000 5000
2
2.5
3
3.5
4
4.5
5
x 10
3
t
I
n
t
e
n
s
i
t


d
e

d

f
a
i
l
l
a
n
c
e
Figure 6.2 Intensite de defaillance du mod`ele de Jelinski-Moranda
Proposition 4 N
t
est de loi binomiale B (N, 1 exp(t)).
Demonstration : `a faire en exercice.
Une variable aleatoire de loi B(N, p) modelise le nombre de fois o` u un ev`enement de
probabilite p se produit en N experiences identiques et independantes. Par consequent,
tout se passe comme si les N fautes initiales etaient independantes et quelles avaient
toutes une probabilite 1 exp(t) de se manifester entre 0 et t. Autrement dit, la duree
dapparition (aussi appelee latence) dune faute est une variable aleatoire de loi exp().
Les fautes ont toutes le meme taux de manifestation (elles ont la meme probabilite de se
produire sur un intervalle de temps donne) et celui-ci est constant.
La fonction moyenne est :
m(t) = E(N
t
) = N(1 exp(t)) (6.6)
Le nombre cumule moyen de defaillances survenues croit donc comme la fonction de
repartition dune loi exponentielle. Une facon plus pratique dexprimer cette propriete est
decrire que :
d
dt
E(N
t
) = Nexp(t) (6.7)
Ainsi, on peut considerer que le taux moyen doccurrence des defaillances est une
fonction exponentielle decroissante du temps.
En utilisant les proprietes generales des mod`eles ETBF, on montre egalement que :
n N, f
T
n
(t) = n C
n
N
exp(Nt) (exp(t) 1)
n1
.
t < T
N
, R
t
(; n, t
1
, . . . , t
n
) = exp((N n)).
t < T
N
, MTTF
t
(n, t
1
, . . . , t
n
) =
1
(N n)
.
6.2 Le mod`ele de Jelinski-Moranda 63
La fonction de vraisemblance associee ` a lobservation de x
1
, . . . , x
n
est :
L(N, ; x
1
, . . . , x
n
) =
_
n

i=1

i
_
exp
_

i=1

i
x
i
_
=
_
n

i=1
(N i + 1)
_
exp
_

i=1
(N i + 1)x
i
_
=
n
_
n

i=1
(N i + 1)
_
exp
_

i=1
(N i + 1)x
i
_
Son logarithme est :
ln L(N, ; x
1
, . . . , x
n
) = nln +
n

i=1
ln(N i + 1)
n

i=1
(N i + 1)x
i
(6.8)
do` u :

ln L(N, ; x
1
, . . . , x
n
) =
n

i=1
(N i + 1)x
i
(6.9)
On en deduit que les estimateurs de maximum de vraisemblance de N et ,

N
n
et

n
,
sont lies par la relation :

n
=
n
n

i=1
(

N
n
i + 1)X
i
(6.10)
Par ailleurs :

N
ln L(N, ; x
1
, . . . , x
n
) =
n

i=1
1
N i + 1

n

i=1
x
i
(6.11)
Et on obtient que

N
n
est solution de lequation implicite :
n

i=1
1
N i + 1

n
n

i=1
X
i
n

i=1
(N i + 1)X
i
= 0 (6.12)
qui se resoud par des methodes numeriques, comme celle de Newton-Raphson.
Pour les donnees de lexemple, on obtient

n
= 1.71 10
4
et

N
n
= 34. Comme n = 24,
cela signie quon estime quil reste encore 10 fautes dans le logiciel au moment de letude.
Les estimations de MTTF et de abilite ` a 100 heures sont

MTTF
t
n
= 602.4 h et

R
t
n
(100) = 84.7%, ` a comparer aux estimations equivalentes obtenues sous lhypoth`ese de
processus de Poisson homog`ene :

MTTF = 294.3 h et

R(100) = 72.0%. Cette dierence
tr`es importante est logique : contrairement au HPP, le mod`ele JM fait lhypoth`ese que la
abilite croit, donc il est normal de trouver des estimations de abilite et MTTF nettement
superieures.
Le mod`ele de Jelinski-Moranda a ete le premier mod`ele de abilite des logiciels et a
ete beaucoup utilise. Cependant, il presente un certain nombre de defauts :
64Chapitre 6 - Les mod`eles `a durees inter-defaillances exponentielles (ETBF)
Quand on a corrige N defaillances, on a elimine les N fautes initiales, donc le logiciel
est theoriquement parfait, ce qui est peu plausible pour les logiciels complexes.
Le probl`eme principal est lhypoth`ese que les fautes ont meme taux de manifesta-
tion. En fait, certaines fautes se manifestent tr`es rapidement et dautres seulement
apr`es une longue periode dutilisation du logiciel : une faute peut survenir ` a chaque
execution et une autre une fois sur un million dexecutions.
Le choix dun nombre de fautes initiales comme param`etre du mod`ele est contestable.
Ce qui compte pour lutilisateur dun logiciel, ce nest pas le nombre total de fautes,
mais la frequence doccurrence des defaillances.
Toute faute activee est supposee etre compl`etement reperee et parfaitement corrigee.
En fait ce nest pas forcement le cas. Cela explique que le mod`ele de Jelinski-Moranda
aura tendance ` a sous-estimer le nombre de fautes, donc ` a surestimer la abilite : le
mod`ele JM est un mod`ele optimiste. La verite doit donc se trouver quelque part
entre les resultats fournis par les mod`eles HPP et JM.
6.3 Le mod`ele geometrique de Moranda
Le principal defaut du mod`ele JM est que les fautes sont supposees avoir toutes le
meme taux de manifestation, ce qui se traduit par le fait que la decroissance de lintensite
est toujours la meme `a chaque correction. En fait, les fautes ont des severites dierentes.
Les fautes les plus graves ont tendance ` a se produire tr`es tot, et leur correction va gran-
dement diminuer lintensite de defaillance. Lamelioration due aux corrections doit donc
logiquement etre forte au debut de la periode dobservation, puis de plus en plus faible.
Cest le phenom`ene bien connu de perte dimpact des corrections au cours du temps.
Une facon de modeliser ce phenom`ene dans les mod`eles ETBF est de faire en sorte
que les taux de defaillance successifs decroissent de mani`ere geometrique et non plus
arithmetique comme dans le mod`ele JM. On avait dans le mod`ele JM
i
=
i1
. Pour
obtenir une decroissance geometrique, il sut de poser
i
= c
i1
.
La croissance de abilite se traduira par c < 1. Remarquons que ce mod`ele pourrait
etre un mod`ele de decroissance de abilite en prenant c > 1, et quon retouve le processus
de Poisson homog`ene (
i
= i) pour c = 1.
Alors
i
= c
i1
= c
2

i2
= . . . = c
i1

1
. On pose
1
= et on obtient le mod`ele
propose par Moranda [14] sous le nom de geometric de-eutrophication model.
Denition 18 Le mod`ele geometrique de Moranda (GM) est deni de mani`ere
equivalente par :

t
(n; t
1
, . . . , t
n
) = c
n
, R
+
, c ]0, 1].
Les X
i
sont independantes et de lois respectives exp ( c
i1
).
sinterpr`ete comme lintensite de defaillance initiale et c represente la qualite de la
correction : plus c est petit, meilleure est la correction. c = 1 correspond ` a labsence de
correction.
La perte decacite des corrections au cours du temps se visualise sur lintensite du
mod`ele GM (gure 6.3) par des sauts entre les paliers qui diminuent geometriquement.
6.3 Le mod`ele geometrique de Moranda 65
0 1000 2000 3000
1
2
3
4
5
6
7
8
9
10
x 10
3
t
I
n
t
e
n
s
i
t


d
e

d

f
a
i
l
l
a
n
c
e
Figure 6.3 Intensite de defaillance du mod`ele geometrique de Moranda
Les lois de probabilite de N
t
et de T
n
nont pas de forme simple. En particulier, on na
pas dexpression utilisable pour leurs esperances. En revanche, la abilite et le MMTF
sont tr`es simples :
R
t
(; n, t
1
, . . . , t
n
) = exp(c
n
)
MTTF
t
(n, t
1
, . . . , t
n
) =
1
c
n
La fonction de vraisemblance est :
L(, c; x
1
, . . . , x
n
) =
_
n

i=1

i
_
exp
_

i=1

i
x
i
_
=
_
n

i=1
c
i1
_
exp
_

i=1
c
i1
x
i
_
=
n
c

n
i=1
(i1)
exp
_

i=1
c
i1
x
i
_
=
n
c
n(n1)
2
exp
_

i=1
c
i1
x
i
_
ln L(, c; x
1
, . . . , x
n
) = nln +
n(n 1)
2
ln c
n

i=1
c
i1
x
i
(6.13)

ln L(, c; x
1
, . . . , x
n
) =
n

i=1
c
i1
x
i
do` u

n
=
n
n

i=1
c
i1
n
X
i
(6.14)

c
ln L(, c; x
1
, . . . , x
n
) =
n(n 1)
2c

n

i=1
(i 1)c
i2
x
i
(6.15)
On annule cette derivee, on remplace

n
par son expression en fonction de c
n
, et on
obtient nalement que c
n
est solution de lequation implicite :
n

i=1
(n 2i + 1) c
i1
n
X
i
= 0 (6.16)
66Chapitre 6 - Les mod`eles `a durees inter-defaillances exponentielles (ETBF)
Cette equation polynomiale se resoud facilement par la methode de Newton-Raphson.
Pour les donnees de lexemple, on obtient

n
= 7.83 10
3
et c
n
= 0.936. Une valeur
leg`erement inferieure `a 1 pour c
n
traduit une leg`ere croissance de abilite.
Les estimations de MTTF et de abilite ` a 100 heures sont

MTTF
t
n
= 620.0 h et

R
t
n
(100) = 85.1%. Ces valeurs sont proches de celles obtenues pour le mod`ele JM.
Chapitre 7
Les processus de Poisson non
homog`enes (NHPP)
7.1 Denition et proprietes
Denition 19 Les processus de Poisson non homog`enes (NHPP pour Non Ho-
mogeneous Poisson Processes) sont les mod`eles de abilite des syst`emes reparables pour
lesquels lintensite de defaillances ne depend que du temps :

t
(n; t
1
, . . . , t
n
) = (t) (7.1)
On supposera que (t) est continue. Cela signie quapr`es la correction, lintensite de
defaillance est la meme quavant la defaillance (voir gure 7.1).
0 1000 2000 3000 4000 5000 6000 7000
0
.
8
5
0
.
9
0
0
.
9
5
t
l
a
m
b
d
a
_
t
Figure 7.1 Intensite dun mod`ele NHPP
Par consequent, la correction ne provoque pas de discontinuite dans lintensite de
defaillance, donc cest comme si elle navait aucun eet.
68 Chapitre 7 - Les processus de Poisson non homog`enes (NHPP)
Cest ce quon appelle le principe de reparation minimale. Si un syst`eme materiel
est constitue dun tr`es grand nombre de composants et que lun dentre eux tombe en
panne, son remplacement ou sa reparation ne va pas changer grand chose ` a lintensite de
defaillance (penser par exemple au remplacement dun joint de robinet dans une centrale
nucleaire). Cest aussi ce qui se passe quand une reparation se fait dans lurgence suite `a
une defaillance, dans le but de remettre en fonctionnement le syst`eme mais sans le rendre
plus able.
Pour le logiciel, cela revient ` a supposer que le programme contient un tr`es grand nombre
de petites fautes et que chaque correction nen enl`eve quune toute petite partie.
On a dit quil etait logique que la correction introduise une discontinuite dans lintensite
de defaillance. Donc a priori, les mod`eles NHPP ne devraient pas convenir. En fait, on
peut considerer que ce sont des approximations qui peuvent se reveler tr`es satisfaisantes
sur des jeux de donnees.
Lintensite dun mod`ele ETBF est une fonction en escalier et une fonction continue est
une limite de fonctions en escalier. Par consequent, on peut considerer un NHPP comme
un cas limite ou une approximation dun mod`ele ETBF. On reviendra plus tard sur les
liens entre les dierents types de mod`eles.
Le processus de Poisson homog`ene correspond ` a
t
(n; t
1
, . . . , t
n
) = , t > 0. Cest
donc ` a la fois un cas particulier de mod`ele ETBF (
t
(n; t
1
, . . . , t
n
) =
n+1
) et de NHPP
(
t
(n; t
1
, . . . , t
n
) = (t)).
Les proprietes generales des processus de defaillance permettent detablir celles des
NHPP.
7.1.1 Loi du nombre de defaillances survenues `a chaque instant
Proposition 5 N
t
est de loi de Poisson P (m(t)), o` u m(t) =
_
t
0
(u)du.
Ce resultat a donne son nom au processus de Poisson. Le processus est homog`ene quand
(t) est une fonction constante et non homog`ene sinon. On retrouve bien le resultat du
HPP en prenant (t) = : N
t
est de loi P(t).
Comme pour le HPP, on peut montrer en fait que le processus aleatoire {N
t
}
t0
est ` a
accroissements independants, cest ` a dire que, pour 0 < s < t, N
t
N
s
est independant
de ce qui sest passe avant s, et que N
t
N
s
est de loi P(m(t) m(s)).
Le nombre moyen de defaillances survenues entre 0 et t est E[N
t
] = m(t), donc
d
dt
E[N
t
] = m

(t) = (t). Par consequent, lintensite de defaillance dun NHPP peut sin-
terpreter comme un taux moyen doccurrence de defaillances.
Remarque. On a vu que pour le mod`ele JM,
d
dt
E[N
t
] = Nexp(t). Par consequent, le
NHPP dintensite (t) = Nexp(t) (mod`ele GO, voir plus loin) peut etre considere
comme une approximation du mod`ele JM au sens o` u une fonction continue est une ap-
proximation dune fonction en escalier. On peut donc sattendre en particulier ` a ce que
les deux mod`eles donnent des estimations de abilite du meme ordre.
7.1 Denition et proprietes 69
De la meme facon, on peut approcher nimporte quel mod`ele ETBF par un NHPP.
Linteret est que le NHPP est beaucoup plus facile ` a utiliser que le mod`ele ETBF corres-
pondant.
7.1.2 Loi des durees inter-defaillances et instants de defaillance
Par denition de lintensite de defaillance, on a :

t
(n; t
1
, . . . , t
n
) = h
X
n+1
|T
1
=t
1
,...,T
n
=t
n
(t t
n
) = (t) = h
X
n+1
|T
n
=t
n
(t t
n
) (7.2)
Do` u h
X
n+1
|T
n
=t
n
(x) = (t
n
+ x), ce qui signie que le taux de defaillance de la loi
conditionnelle de X
n+1
sachant [T
n
= t
n
] est (t
n
+ x). Tout se passe donc comme si le
syst`eme avait un taux de defaillance initial (t) et que les corrections navaient aucun
eet. On retrouve ici lidee de reparation minimale.
Dapr`es (2.5), ce resultat peut secrire aussi :
f
X
n+1
|T
n
=t
n
(x) = (t
n
+ x) exp
_

_
x
0
(t
n
+ u)du
_
= (t
n
+ x) exp
_

_
t
n
+x
t
n
(u)du
_
(7.3)
ou :
P(X
n+1
> x| T
n
= t
n
) = exp
_

_
t
n
+x
t
n
(u)du
_
(7.4)
On remarque que, contrairement au cas des mod`eles ETBF, les durees inter-defaillances
X
i
ne sont pas independantes.
En utilisant les resultats precedents, on montre facilement que la loi conditionnelle de
T
n+1
sachant [T
n
= t
n
] est donnee par :
f
T
n+1
|T
n
=t
n
(t) = (t) exp
_

_
t
t
n
(u)du
_
(7.5)
P(T
n+1
> t| T
n
= t
n
) = exp
_

_
t
t
n
(u)du
_
(7.6)
7.1.3 Fiabilite et MTTF
La abilite est donnee par :
R
t
(; n, t
1
, . . . , t
n
) = exp
_

_
t+
t

u
(n; t
1
, . . . , t
n
) du
_
Comme lintensite ne depend que du temps, on va noter la abilite R
t
() et on obtient :
R
t
() = exp
_

_
t+
t
(u)du
_
= exp([m(t + ) m(t)]) (7.7)
Il ny a pas dexpression simple pour MTTF
t
.
70 Chapitre 7 - Les processus de Poisson non homog`enes (NHPP)
7.1.4 Fonction de vraisemblance
Pour un NHPP, il est plus simple de calculer la fonction de vraisemblance `a laide
des instants de defaillance plutot que des durees inter-defaillances. Pour un mod`ele ayant
pour param`etre , la fonction de vraisemblance associee ` a lobservation de t
1
, . . . , t
n
est :
L(; t
1
, . . . , t
n
) = f
(T
1
,...,T
n
)
(t
1
, . . . , t
n
) =
n

i=1
f
T
i
|T
i1
=t
i1
,...,T
1
=t
1
(t
i
)
=
n

i=1
f
T
i
|T
i1
=t
i1
(t
i
) =
n

i=1
(t
i
) exp
_

_
t
i
t
i1
(u) du
_
=
_
n

i=1
(t
i
)
_
exp
_

_
t
n
0
(u) du
_
(7.8)
Cette fonction est tr`es simple, ce qui permettra destimer tr`es simplement les pa-
ram`etres des mod`eles NHPP. Cest en grande partie ce qui a fait leur succ`es aupr`es des
praticiens, malgre le fait quils soient moins realistes que les mod`eles ETBF.
Pour aller plus loin, il faut faire des hypoth`eses sur la forme de (t). On va voir dans
la suite de ce chapitre les deux plus connus des mod`eles NHPP, le mod`ele de Duane et le
mod`ele de Goel-Okumoto.
7.2 Le mod`ele de Duane
Cest le plus connu et le plus utilise des NHPP. Il porte le nom de Duane [5] qui a
observe empiriquement que ce mod`ele etait bien adapte ` a des materiels electriques, et il a
ete etudie par Crow [4]. Il est connu en anglais sous le nom de Power-Law Process (PLP).
Denition 20 Le mod`ele de Duane ou Power-Law Process (PLP) est le NHPP
dont lintensite est une puissance du temps :
(t) = t
1
, R
+
, R
+
(7.9)
Ce mod`ele est tr`es souple au sens o` u il peut modeliser plusieurs types de tendance dans
la abilite (voir gure 7.2) :
> 1 = (t) est croissante = decroissance de abilite
< 1 = (t) est decroissante = croissance de abilite
= 1 =(t) est constante =abilite stabilisee : processus de Poisson homog`ene
Le param`etre sinterpr`ete facilement comme le degre de degradation ou damelioration
du syst`eme. En abilite des logiciels, on sattend ` a une croissance de abilite, donc ` a un
param`etre inferieur ` a 1. est un param`etre dechelle.
Il est clair que ce mod`ele est aux syst`emes reparables ce que la loi de Weibull est aux
syst`emes non reparables. En particulier, X
1
est de loi de Weibull W(
1/
, ).
Les proprietes du PLP se deduisent facilement des proprietes generales des NHPP.
7.2 Le mod`ele de Duane 71
0.0 0.2 0.4 0.6 0.8 1.0
0
.
0
0
.
5
1
.
0
1
.
5
2
.
0
2
.
5
3
.
0
= 3
= 1.5
= 1
= 0.5
Figure 7.2 Intensite du mod`ele de Duane pour dierentes valeurs de
N
t
est de loi P
_
t

_
.
E[N
t
] = m(t) =
_
t
0
(u)du = t

.
R
t
() = exp([(t + )

])
Il ny a pas dexpression simple pour le MTTF, mais on peut le calculer numeriquement
` a partir de MTTF
t
=
_
+
0
R
t
()d.
La fonction de vraisemblance associee ` a lobservation de t
1
, . . . , t
n
est :
L(, ; t
1
, . . . , t
n
) =
_
n

i=1
(t
i
)
_
exp
_

_
t
n
0
(u) du
_
(7.10)
=
_
n

i=1
t
1
i
_
exp(t

n
) =
n

n
_
n

i=1
t
1
i
_
exp(t

n
)
ln L(, ; t
1
, . . . , t
n
) = nln + nln + ( 1)
n

i=1
ln t
i
t

n
(7.11)
ln L

=
n

n
, qui vaut 0 pour =
n
t

n
.
ln L

=
n

+
n

i=1
ln t
i
t

n
ln t
n
(7.12)
En annulant cette quantite et en remplacant par
n
t

n
, on obtient :
n

+
n

i=1
ln t
i
nln t
n
=
n

+
n

i=1
ln
t
i
t
n
= 0 (7.13)
= =
n

i=1
ln
t
i
t
n
=
n
n1

i=1
ln
t
n
t
i
(7.14)
72 Chapitre 7 - Les processus de Poisson non homog`enes (NHPP)
On obtient nalement :
Proposition 6 Les estimateurs de maximum de vraisemblance des param`etres du mod`ele
de Duane sont :

n
=
n
n1

i=1
ln
T
n
T
i
et
n
=
n
T

n
n
(7.15)
Le fait que ces estimateurs aient une forme explicite est tr`es rare en abilite des logiciels
et explique en grande partie la popularite de ce mod`ele.
En remplacant et par
n
et

n
dans les expressions de R
t
() et MTTF
t
, on peut
estimer la abilite et le MTTF `a nimporte quel instant.
Pour les donnees de lexemple, on obtient
n
= 0.100 et

n
= 0.618. Une valeur
inferieure ` a 1 pour

n
conrme la croissance de abilite.
Les estimations de MTTF et de abilite ` a 100 heures sont

MTTF
t
n
= 487.7 h et

R
t
n
(100) = 81.2%. Ces valeurs sont intermediaires entre celles obtenues pour les mod`eles
JM/GM et celles obtenues sous lhypoth`ese HPP.
Etant donne que le HPP est un cas particulier du mod`ele de Duane, si ce mod`ele avait
ete adapte aux donnees, lestimation de aurait ete proche de 1. Comme ce nest pas le
cas, cela signie que, conformement `a lintuition, le HPP nest pas un bon mod`ele pour
ces donnees. Mathematiquement, traiter ce probl`eme cest tester H
0
: = 1 contre H
1
:
= 1 quand on suppose que le mod`ele de Duane est adequat.
Il reste ` a determiner si on peut considerer que les donnees proviennent du mod`ele de
Duane. Pour cela, il faut utiliser des tests dadequation ` a ce mod`ele. Il en existe, mais
leur etude depasse le cadre de ce cours.
7.3 Le mod`ele de Goel-Okumoto
Ce mod`ele est base sur les hypoth`eses suivantes [7] :
Le logiciel contient ` a linstant initial un nombre aleatoire N de fautes, dont lesperance
est a.
Quand une defaillance survient, la faute incriminee est parfaitement corrigee et au-
cune nouvelle faute nest introduite.
Lintensite de defaillance est proportionnelle au nombre moyen de fautes residuelles.
Soit b le facteur de proportionnalite.
On constate que ces hypoth`eses sont similaires `a celles du mod`ele de Jelinski-Moranda,
sauf sur deux points. Tout dabord, le nombre de fautes initial est une variable aleatoire
et non plus une constante inconnue. Ensuite, lintensite est supposee proportionnelle au
nombre moyen de fautes residuelles E[N N
t
] et non plus au nombre absolu (aleatoire)
de fautes residuelles N N
t
.
Pour le mod`ele JM (avec des notations dierentes), les hypoth`eses aboutissaient ` a
lecriture
t
(n; t
1
, . . . , t
n
) =
n+1
= (N n). Ici, la troisi`eme hypoth`ese implique que
7.3 Le mod`ele de Goel-Okumoto 73
lintensite ne depend que du temps. Donc le mod`ele est un NHPP et on a :
(t) = b E[N N
t
] = b [a E[N
t
]] (7.16)
Comme E[N
t
] = m(t) =
_
t
0
(u)du, on obtient en fait une equation dierentielle :
m

(t) = b [a m(t)] (7.17)


Pour resoudre cette equation, on pose g(t) = a m(t). On a :
g

(t) = m

(t) = b [a m(t)] = b g(t) (7.18)


Do` u :
g

(t)
g(t)
= b =ln g(t) = bt + cste =g(t) = exp(bt + cste) = K exp(bt) (7.19)
Puisquil ny a pas de defaillance ` a linstant initial, g(0) = a m(0) = a E[N
0
] = a.
Donc K = a. Alors :
g(t) = a exp(bt) = a m(t) =m(t) = a [1 exp(bt)] (7.20)
et m

(t) = (t) = ab exp(bt). Finalement :


Denition 21 Le mod`ele de Goel-Okumoto (GO) est le NHPP dont lintensite est
une fonction exponentielle du temps :
(t) = a b exp(bt), a R
+
, b R
+
(7.21)
Lintensite decroit donc comme une exponentielle alors que pour le PLP, elle decroit
comme une puissance. A priori, par construction du mod`ele, b est un reel positif. On
pourrait autoriser b ` a etre negatif pour pouvoir modeliser une decroissance de abilite,
mais il faudrait alors reecrire le mod`ele, par exemple sous la forme (t) = exp(ct)
avec c R.
Comme on la dit plus haut, lintensite du mod`ele GO a la meme forme que le taux
doccurrence de defaillance du mod`ele JM, donc le mod`ele GO est lequivalent NHPP du
mod`ele JM.
Remarque : lim
t+
E[N
t
] = lim
t+
m(t) = a. Cela signie que le nombre maximal de defaillan-
ces observables si on poursuit indeniment le test est a. Cest normal puisque a est
le nombre moyen de fautes initiales et quon elimine une et une seule faute ` a chaque
defaillance. On nobservera donc quun nombre ni de defaillances et le logiciel sera par-
fait en moyenne apr`es la a
`eme
correction. Cest le meme phenom`ene que pour le mod`ele
JM, avec les memes defauts.
La abilite est :
R
t
() = exp([m(t + ) m(t)]) = exp (a exp(bt)[1 exp(b)])
74 Chapitre 7 - Les processus de Poisson non homog`enes (NHPP)
Le MTTF est :
MTTF
t
=
_
+
0
R
t
()d =
_
+
0
exp(a exp(bt)[1 exp(b)])d
En +, la fonction `a integrer vaut exp(a exp(bt)). Comme ce nombre est dierent
de 0, lintegrale diverge et on a :
t 0, MTTF
t
= + (7.22)
Ce resultat signie qu` a chaque instant, lesperance du temps dattente de la prochaine
defaillance est innie ! Ce phenom`ene apparemment paradoxal est en fait lie au resultat
precedent. Etant donne quil ny a quun nombre ni de defaillances possibles, la proba-
bilite qu`a un instant t quelconque toutes les fautes aient ete corrigees est non nulle. Or,
si toutes les fautes ont ete corrigees, le temps dattente de la prochaine defaillance est
bien inni. Si linni est possible, meme avec une faible probabilite, alors le MTTF sera
forcement inni. Par consequent, ca na pas de sens destimer le MTTF dans ce contexte,
ce qui est un handicap important ` a lutilisation de ce mod`ele.
La fonction de vraisemblance associee ` a lobservation de t
1
, . . . , t
n
est :
L(a, b; t
1
, . . . , t
n
) =
_
n

i=1
(t
i
)
_
exp
_

_
t
n
0
(u) du
_
=
_
n

i=1
ab exp(bt
i
)
_
exp(a[1 exp(bt
n
)])
= a
n
b
n
exp(b
n

i=1
t
i
a[1 exp(bt
n
)]) (7.23)
ln L(a, b; t
1
, . . . , t
n
) = nln a + nln b b
n

i=1
t
i
a[1 exp(bt
n
)] (7.24)
ln L
a
=
n
a
1 + exp(bt
n
), qui vaut 0 pour a =
n
1 exp(bt
n
)
.
ln L
b
=
n
b

n

i=1
t
i
at
n
exp(bt
n
) (7.25)
On en deduit que :
Proposition 7 Les estimateurs de maximum de vraisemblance des param`etres du mod`ele
de Goel-Okumoto sont tels que

b
n
est solution de lequation implicite :
n

b
n

i=1
T
i

nT
n
exp(

b
n
T
n
)
1 exp(

b
n
T
n
)
= 0 (7.26)
et
a
n
=
n
1 exp(

b
n
T
n
)
(7.27)
7.4 Autres mod`eles NHPP 75
Pour les donnees de lexemple, on obtient

b
n
= 1.335 10
4
et a
n
= 39.31. Une valeur
positive pour

b
n
conrme la croissance de abilite. La valeur de a
n
indique quon estime
quil y avait autour de 39 fautes initiales dans le logiciel. Donc, puisque n = 24 dentre
elles sont apparues, il en reste encore environ 15. Rappelons quavec le mod`ele JM, on
avait estime quil y avait 34 fautes initiales.
Lestimation de abilite `a 100 heures est

R
t
n
(100) = 81.6%, qui est pratiquement
identique ` a celle fournie par le mod`ele de Duane. Quant au MTTF, on ne peut pas
lestimer par autre chose que +.
7.4 Autres mod`eles NHPP
7.4.1 Le mod`ele de Musa-Okumoto
Cest le mod`ele NHPP derive du mod`ele geometrique de Moranda. Son intensite [15]
est :
(t) =

1 + t
, R
+
, R
+
(7.28)
Pour les donnees de lexemple, on obtient

n
= 7.03 10
3
et
n
= 0.0547. Lestimation
de abilite ` a 100 heures est

R
t
n
(100) = 82.8% et celle du MTTF est

MTTF
t
n
= 559 h.
7.4.2 Le mod`ele de Yamada-Ohba-Osaki
Les mod`eles precedents ont tous une intensite strictement monotone, croissante ou
decroissante. Or, dans la pratique, on a souvent constate que les defaillances etaient
espacees au debut de la periode dobservation, puis de plus en plus rapprochees, pour
nir par sespacer `a nouveau. Ce phenom`ene peut sexpliquer en phase de test par le
fait que les testeurs qui decouvrent un logiciel ne trouvent pas de defaillances tout de
suite. Puis, ` a mesure que leur connaissance du logiciel sapprofondit, ils parviennent `a
localiser les fautes potentielles. Enn, quand la majeure partie des fautes a ete eliminee,
les defaillances deviennent rares du fait de lecacite de la correction et du faible potentiel
dactivation des fautes residuelles.
Mathematiquement, cela revient `a supposer que lintensite de defaillance commence
par crotre, puis decrot, do` u le nom de mod`eles en forme de S (S-shaped models).
Le mod`ele de Yamada-Ohba-Osaki (YOO) [21] est de ce type avec :
(t) = a b
2
t exp(bt) a R
+
, b R
+
(7.29)
Pour les donnees de lexemple, on obtient

b
n
= 5.58 10
4
et a
n
= 26.5. Lestimation de
abilite `a 100 heures est

R
t
n
(100) = 89.5% et le MTTF est inni, comme pour le mod`ele
GO.
Il existe de nombreuses variantes de ces mod`eles, pouvant prendre en compte quantites
de param`etres comme la correction imparfaite, la correction dieree, la dependance entre
les fautes, des param`etres environnementaux, une decomposition modulaire du logiciel,
une classication des types de defaillances, le co ut du test et de la correction, lexistence
de ruptures, etc... [16].
76 Chapitre 7 - Les processus de Poisson non homog`enes (NHPP)
0 20 40 60 80 100
0
.
0
0
0
0
.
0
0
5
0
.
0
1
0
0
.
0
1
5
0
.
0
2
0
0
.
0
2
5
0
.
0
3
0
t
l
a
m
b
d
a
_
t
Figure 7.3 Intensite dun mod`ele de Yamada-Ohba-Osaki
7.5 Conclusion
Au nal, on dispose de nombreux mod`eles de abilite qui permettent, au vu des
defaillances et corrections successives dun logiciel, devaluer sa abilite, son MTTF, le
nombre de fautes residuelles, etc... et de prevoir son comportement futur. A laide de ces
estimations, on peut fournir un crit`ere darret des tests, prevoir la maintenance, xer des
garanties, etc...
Devant la multiplicite des mod`eles de abilite possibles, le principal probl`eme des
praticiens est de choisir parmi ceux-ci celui ou ceux qui sont les plus appropries pour
modeliser une application precise et traiter un jeu de donnees particulier.
Le choix de mod`eles se deroule en 3 etapes :
La premi`ere etape consiste ` a juger de la pertinence des mod`eles par rapport au
probl`eme etudie : validite des hypoth`eses.
La seconde etape juge de la qualite intrins`eque dun mod`ele. Est-il simple ? Les
param`etres ont-ils une signication physique ? Peut-on les estimer facilement et avec
precision ? Le mod`ele permet-il destimer correctement la abilite ?
Enn, il faut confronter le mod`ele aux donnees : peut-on admettre que les donnees
sont issues du mod`ele en question ? La reponse ` a cette derni`ere question est un
test dadequation statistique. Malheureusement, si les tests dadequation sont
bien connus quand les observations sont des variables aleatoires independantes et
de meme loi, ce nest pas le cas quand elles ne sont ni independantes, ni de meme
loi, ce qui se produit pour les donnees de abilite des logiciels. Neanmoins, certaines
methodes sont disponibles et permettent deectuer un choix pertinent de mod`eles.
Bibliographie
[1] Bon J.L., Fiabilite des syst`emes, Masson, 1995.
[2] Norme CEI 61508, Securite fonctionnelle des syst`emes
electriques/electroniques/electroniques programmables relatifs `a la securite,
Commission

Electrotechnique Internationale, 2001.
[3] Cocozza-Thivent C., Processus stochastiques et abilite des syst`emes, Springer,
1997.
[4] Crow L.H., Reliability analysis for complex repairable systems, in Reliability and
biometry - Statistical analysis of lifelength, SIAM Philadelphia, 379-410, 1974.
[5] Duane J.T., Learning curve approach to reliability monitoring, IEEE Transactions
on Aerospace, AS-2, 2, 563-566, 1964.
[6] Gaudoin O. et Ledoux J., Modelisation aleatoire en abilite des logiciels, Herm`es
Science Publications, 2007.
[7] Goel A.L. et Okumoto K., Time dependent error detection rate model for soft-
ware reliability and other performance measures, IEEE Transactions on Reliability,
R-28, 1, 206-211, 1979.
[8] Habrias H., La mesure du logiciel, Teknea, 1994.
[9] Jelinski Z. et Moranda P.B., Statistical computer performance evaluation, in
Software reliability research, 465-497, W. Freiberger ed, Academic press, New-York,
1972.
[10] Laprie J.C. ed., Dependability : basic concepts and terminology, Springer, 1992.
[11] Laprie J.C. ed., Guide de la s urete de fonctionnement, Cepadu`es, 1996.
[12] Lawless J.F., Statistical models and methods for lifetime data, Wiley, 2003.
[13] Lyu M.R. ed., Handbook of software reliability engineering, IEEE Computer So-
ciety Press and Mc Graw-Hill Book Company, 1996.
[14] Moranda P.B., Event altered rate models for general reliability analysis, IEEE
Transactions on Reliability, R-28, 5, 376-381, 1979.
[15] Musa J.D. et Okumoto K., A logarithmic Poisson execution time model for
software reliability measurement, Proc. 7th Int. Conf. on Software Engineering,
230-238, 1984.
[16] Pham H., Software reliability, Springer, 2000.
[17] Printz J., Productivite des programmeurs, Herm`es-Lavoisier, 2001.
[18] Rausand M. and Hoyland A., System reliability theory : models, statistical
methods and applications, Wiley, 2004.
78 BIBLIOGRAPHIE
[19] Vall

ee F., Fiabilite des logiciels, Techniques de lIngenieur, SE 2 520, 1-10, 2004.


[20] Vall

ee F. et Vernos D., Comment utiliser la abilite du logiciel comme crit`ere


darret du test, 13`eme Colloque Europeen de S urete de Fonctionnement (13 -
ESREL 2002), 164-167, 2002.
[21] Yamada S., Ohba M. et Osaki S., S-shaped reliability growth modelling for
software error detection, IEEE Transactions on Reliability, R-35, 5, 475-478, 1983.

Vous aimerez peut-être aussi