• Aucun résultat trouvé

Modèles d'évaluation de la fiabilité du logiciel et techniques de validation de systèmes de prédiction : étude bibliographique

N/A
N/A
Protected

Academic year: 2021

Partager "Modèles d'évaluation de la fiabilité du logiciel et techniques de validation de systèmes de prédiction : étude bibliographique"

Copied!
76
0
0

Texte intégral

(1)

HAL Id: hal-00853047

https://hal.archives-ouvertes.fr/hal-00853047 Submitted on 21 Aug 2013

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

techniques de validation de systèmes de prédiction :

étude bibliographique

James Ledoux

To cite this version:

James Ledoux. Modèles d’évaluation de la fiabilité du logiciel et techniques de validation de systèmes de prédiction : étude bibliographique. 1992. �hal-00853047�

(2)

Modeles d'evaluation de la abilite du logiciel et techniques de

validation de systemes de prediction: etude bibliographique.

James Ledoux



Programme 1 | Architectures paralleles, bases de donnees, reseaux et systemes distribues Projet Model

Publication interne n667 | Juillet 1992 | 73 pages

Resume :

Nous recensons dans une premiere partie de ce rapport, les principaux travaux en modelisation de la abilite du logiciel. Cependant, il ne s'agit pas ici d'etablir une liste exhaustive de tous les modeles obtenus mais plut^ot d'adopter une presentation la moins technique possible du developpement depuis une vingtaine d'annees des methodes statistiques d'evaluation de la s^urete de fonctionnement d'un logiciel.

Dans une seconde partie, nous abordons le probleme de la validation predictive de ces modeles qui n'a recu une attention particuliere que depuis le debut des annees 80. Nous decrivons alors les outils actuellement disponibles pour juger de la qualite des predictions realisees.

Mots-cle :

Fiabilite du logiciel, Modeles, Validite predictive.

(Abstract: pto)



(3)

Prediction Systems: A Survey.

Abstract:

In a rst part, we overview the main works on software reliability modelling. It is not an exhaustive list of all existing models but a review of the development in the area over the last twenty years.

In the second part, the problem of the validation of these models is analysed. We describe the tools actually available to evaluate the quality of the predictions.

(4)

Table des matieres

1 Introduction

2

2 Concept et mesures de abilite

3

2.1 Fiabilite du logiciel et du materiel : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.2 Modelisation de la s^urete de fonctionnement du logiciel: : : : : : : : : : : : : : : 3 2.2.1 Mesures classiques : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.2.2 Processus N.H.P.P. (Non Homogeneous Poisson Process) : : : : : : : : : : 6 2.2.3 Modelisation de la abilite : : : : : : : : : : : : : : : : : : : : : : : : : : 7

3 Divers modeles

9

3.1 Modeles dynamiques : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 3.1.1 Modele de Jelinski-Moranda (JM) [65] : : : : : : : : : : : : : : : : : : : 10 3.1.2 Modele de Jelinski-Moranda bayesien (BJM) [97] : : : : : : : : : : : : : 11 3.1.3 Modele \temps d'execution"de Musa (Mus) [112] : : : : : : : : : : : : : 12 3.1.4 Modele de Schick et Wolverton (SW) [130] : : : : : : : : : : : : : : : : : 14 3.1.5 Modele geometrique de Moranda (M) [109] : : : : : : : : : : : : : : : : : 16 3.1.6 Modeles de Littlewood (L) [96] ,[92] et de Littlewood-Verrall (LV) [98] : 17 3.1.7 Les modeles a statistiques d'ordre de lois exponentielles (EOS) [103] : : : 24 3.1.8 Les modeles N.H.P.P. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25 3.1.9 D'autres modeles. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33 3.2 Modeles statiques: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36 3.2.1 Modeles bases sur l'analyse du domaine des entrees du programme : : : : 36 3.2.2 Methode d'implant de fautes ou \error seeding": : : : : : : : : : : : : : : 38

4 Calibrage et validation des systemes de prediction

40

4.1 Calibrage des modeles : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 40 4.2 Criteres de validation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 42 4.2.1 Validite predictive : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 42 4.2.2 Capacites d'un modele : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 49 4.2.3 La qualite des hypotheses du modele : : : : : : : : : : : : : : : : : : : : : 49 4.2.4 Diversite des applications visees: : : : : : : : : : : : : : : : : : : : : : : : 50 4.2.5 Simplicite du modele : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 50 4.3 Techniques visant a une meilleure evaluation de la abilite du logiciel: : : : : : : 51 4.3.1 Methode de recalibrage : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51 4.3.2 Une approche globale [72] ,[71] ,[73] ,[69] ,[13] ,[74] : : : : : : : : : : : : : 53

(5)

1 Introduction

Une question essentielle dans la realisation de systemes d'informations est de savoir s'ils repon-dent aux besoins pour lesquels ils ont ete concus. Face a la complexite croissante de ces systemes, on ne peut esperer obtenir une reponse qu'en termes de degre de con ance dans le service deli-vre relativement a l'occurrence de defaillances, qu'elles soient materielles ou logicielles. Si depuis fort longtemps le materiel a ete l'objet d'une attention constante, l'in uence de la composante logicielle sur le fonctionnement d'un systeme n'est etudiee que depuis une vingtaine d'annees. Cependant, les abilistes portent un inter^et de plus en plus grand au processus de defaillance du logiciel, et ceci pour plusieurs raisons.

 La complexite des systemes informatiques est telle que la gestion de leur developpement est devenue tres dicile et les e ets de leurs defaillances deviennent de plus en plus importants en termes de co^uts.

 La theorie de la abilite pour le materiel est tres developpee, ce qui permet un contr^ole souvent satisfaisant de cette partie du systeme.

 L'evolution technique a egalement permis d'atteindre des niveaux de abilite tres impor-tants pour les composants materiels, ce qui met en evidence l'in uence de plus en plus grande des composantes logicielles sur le comportement d'un systeme.

 Le logiciel occupe maintenant une place preponderante dans le co^ut global d'un projet (estime, par exemple, a 90% pour l'annee 1985 dans [22]), due notamment a une augmen-tation du rapport co^ut/ecacite des materiels (multiplie par 1000 tous les 10 ans d'apres [111]). L'accroissement du co^ut de cette composante logicielle est evalue a 12% par an dans [23].

 En n, la concurrence entre societes de developpement des logiciels est telle, qu'elle induit des delais de livraison de plus en plus courts pour des produits dont la qualite doit ^etre un argument commercial.

Ainsi, pour parvenir a un compromis entre la qualite, les co^uts et les delais, une etape prelimi-naire consiste a quanti er ces trois attributs. Ici, nous etudierons la s^urete de fonctionnement du logiciel qui constitue un indicateur extr^emement important de sa qualite. Elle est de nie comme une con ance justi ee en la capacite d'un programme a delivrer un service conforme a ses speci cations [87]. Ce concept general inclut les notions de abilite, de disponibilite, de securite, etc. Nous verrons dans la Section 2 les di erentes mesures qui lui sont associees. Leurs evaluations reposent toutes sur l'analyse et la modelisation du processus de defaillance du logi-ciel. De nombreux modeles de ce processus ont ete developpes durant les annees 75-80. Certains d'entre eux seront presentes dans la Section 3. Il a alors ete reconnu qu'un e ort particulier devait ^etre porte sur leur validation, en elaborant des criteres acceptes par tous [62],[1]. Etant acquis qu'il n'existait a priori aucun modele universel, de nombreux travaux ont ete e ectues, notamment au Centre of Software Reliability a Londres, pour fournir a l'utilisateur des aides a la decision. En particulier, nous decrirons dans la Section 4 des methodes d'evaluation de la qualite predictive d'un modele. Nous verrons comment il en a ete deduit de nouveaux modeles par une simple procedure de recalibrage [28]. En n, nous nous interesserons a la methodologie,

(6)

developpee au L.A.A.S. a Toulouse et mise en oeuvre dans le logiciel SoRel [74], pour evaluer la s^urete de fonctionnement d'un systeme logiciel.

2 Concept et mesures de abilite

2.1 Fiabilite du logiciel et du materiel

L'etude de la abilite du materiel a precede de loin celle du logiciel. Nous disposons d'une abon-dante litterature qui montre la solidite de ses fondements. Cependant il a ete souligne [96],[63] que l'on ne devait pas appliquer aveuglement au logiciel les techniques utilisees pour le materiel. En e et, la di erence fondamentale reside dans la nature de leur processus de defaillance. Pour le materiel, il resulte essentiellement d'un processus de degradation physique, alors que le logiciel n'exhibe aucune manifestation physique signi cative. Dans un logiciel les fautes sont toujours residentes, depuis sa conception et/ou apres l'introduction de nouvelles versions. Les defaillances ne sont alors que les manifestations d'etats errones du programme. Ainsi le disfonctionnement d'un logiciel s'exprime en termes de deviations des sorties du programme relativement aux don-nees d'entree et a ses speci cations. De plus, des tests exhaustifs ne sont pas realisables a cause du tres grand nombre d'entrees possibles. D'autres facteurs limitent l'utilisation des tests. Par exemple, il peut ^etre dicile de veri er si le service rendu est approprie a la donnee d'entree, vu la complexite des programmes et notre incapacite a apprehender totalement ses speci cations. Ceci justi e pleinement l'utilisation du terme de mesures de con ance dans une evaluation de la s^urete de fonctionnement. En general, la correction d'une faute dans un programme n'est pas e ectuee avec une certitude absolue. De nouvelles fautes peuvent ^etre introduites lors de la phase de debogage. Ceci a des consequences sur le processus de defaillance et par la m^eme sur les mesures de abilite. Ainsi ces mesures tendent a evoluer constamment durant la phase de developpement. Pour le materiel, il est reconnu que les variations de abilite les plus impor-tantes ont lieu en debut et n de son cycle de vie. Ainsi son comportement, relativement a ses defaillances, est globalement plus stable que celui du logiciel.

Cependant, la distinction entre s^urete de fonctionnement du materiel et du logiciel est ar-ti cielle : toutes les deux peuvent ^etre de nies de la m^eme maniere, toutes les deux dependent de l'environnement. En n, un des objectifs du abiliste reste l'evaluation globale d'un systeme faisant inter-agir des composantes materielles et logicielles. Il est donc necessaire de developper une theorie generale de la abilite qui soit compatible avec celle du materiel (avec par exemple une unite des mesures utilisees). Un premier pas a ete e ectue dans ce sens, avec la \theorie de la abilite du X-iel" [88],[76].

2.2 Modelisation de la s^urete de fonctionnement du logiciel

2.2.1 Mesures classiques

Les mesures relatives au comportement d'un systeme jusqu'a defaillance sont largement etudiees dans la litterature [8],[16], [6]. Elles s'appliquent au cas du logiciel. Elles se deduisent de l'analyse du processus de defaillance durant le cycle de vie du logiciel.

(7)

Il s'agit essentiellement d'une description du processus de defaillance en termes d'intervalle de temps jusqu'a defaillance.

Soit T la variable aleatoire continue representant l'intervalle de temps separant la mise en operation d'un logiciel de sa premiere defaillance. La loi de cette variable aleatoire est caracterisee par l'un des trois attributs suivants :

1. sa fonction de repartition, notee F(t) et de nie par IPfT tg, 2. sa fonction de densite de probabilite noteef(t) (si elle existe), 3. sa fonction de survie ou encore fonction abilite R(t) = 1 F(t):

Nous pouvons de nir trois autres mesures d'inter^et :

4. le MTTF = E[T], qui represente la longueur esperee de l'intervalle de temps jusqu'a la premiere defaillance (esperance mathematique de la variable T)

5. la mediane de la variable aleatoire T, qui est de nie comme la valeur t telle que F(t) =

R(t) = 1=2. Contrairement auMTTF, cette mesure est toujours de nie.

6. le taux de hasard ou encore taux de defaillance, qui se refere a la probabilite qu'une defaillance ait lieu durant l'intervalle in nitesimal [t;t+dt], sachant qu'aucune defaillance n'est apparue avant l'instant t. C'est a dire pourdt tendant vers 0

(t)dt = IPf une defaillance a lieu dans [t;t+dt] j aucune defaillance sur [0;t] g; = Rf((tt))dt sif(t) existe.

Ainsi le phenomene de deterioration du materiel en fonction de son ^age (communement nomme \wear-out") est souvent caracterise par la croissance avectde cette fonction taux (voir les distributions IFR, DFR dans [8]).

Les liens entre les di erentes mesures sont resumes dans le tableau suivant :

% F(t) R(t) f(t) (t) F(t) 1 R(t) Rt 0f(x)dx 1 exp f Rt 0(x)dx g R(t) 1 F(t) R +1 t f(x)dx expf Rt 0(x)dx g f(t) dFdt(t) dRdt(t) (t)expf Rt 0(x)dx g MTTF R +1 0 (1 F(x))dx R +1 0 R(x)dx R +1 0 xf(x)dx R +1 0 exp f Rt 0 (x)dx gdt Voici des exemples de distributions classiques pour la variable T:

la distribution exponentielle

pour  >0 et t0 f(t) =exp( t); F(t) = 1 exp( t);

R(t) =exp( t) (t) =; MTTF = 1=; t= ln(2)=:

(8)

la distribution Weibull pour ; >0 et t0 f(t) = t 1exp f t g; F(t) = 1 expf t g; R(t) =expf t g; (t) = t 1; MTTF = 1 1= ( 1 + 1); t=  ln(2)  1 :

Mesures relatives au comportement avec reprise d'execution

Il s'agit ici de decrire l'occurrence aleatoire des interruptions successives du service. Le proces-sus de defaillance peut alors ^etre vu comme un procesproces-sus stochastique ponctuel, i.e une suite de variables aleatoires (Ti)i0 telle que chaque Ti represente l'instant d'occurrence de la i



eme

defaillance du logiciel. Pour toutes les mesures qui vont ^etre decrites ici, la duree des arr^ets des traitements suite a une defaillance est, soit negligeable soit negligee. La variable scalaire t

mesure le temps total ecoule depuis l'initialisation du processus. Nous pouvons alors de nir les variables aleatoires \duree entre le (i 1)eme et leieme instant de defaillance", i.e

Xi =Ti Ti 1 pouri

1 et T 0

0: Nous pouvons egalement de nir la variable aleatoire a valeurs entieres

Nt = maxfi1 :Ti tg= X

i0

1]0;t](Ti):

Elle represente le nombre cumule de defaillances durant [0;t]. Les mesures classiques associees a ce type de processus stochastique sont :

1. le nombre espere de defaillances sur l'intervalle [0;t] ou fonction de renouvellement

M(t) =E[Nt];

2. le taux d'occurrence des defaillances ou encore densite de renouvellement, qui correspond au nombre instantane de defaillances et qui est noteROCOF (rate of occurrence of failures) [6]

ROCOF(t) = dMdt (t) = limdt !0

M(t+dt) M(t)

dt ;

3. l'intensite de defaillance de nie par

h(t) = limdt !0 IPfNt +dt Nt 1g dt :

Un processus ponctuel est dit regulier ou ordonne selon Ascher [6] si IPfNt

+dt Nt

2g=o(dt);

c'est a dire la probabilite qu'au moins deux defaillances aient lieu simultanement est negli-geable. C'est une hypothese raisonnable pour le logiciel. L'intensite de defaillance devient pour

dt tendant vers 0

(9)

Remarques.

(R1) Belayev [17] a demontre pour un processus ponctuel regulier general, que l'on a egalite entre l'intensite de defaillance et le ROCOF. On parlera ainsi indi eremment d'intensite de defaillance ou de ROCOF.

(R2) Il faut bien faire la distinction entre le taux de defaillance(t) qui caracterise l'occurrence de la prochaine defaillance et l'intensite de defaillance h(t) qui caracterise un ux de defaillances. En general, la confusion est due au fait que ces quantites sont egales lorsque (Ti)i0 est un processus de Poisson. La relation entre ces deux fonctions est souvent tres complexe. Elle depend de l'environnement d'utilisation et de la politique de maintenance retenue. Cependant dans le cas particulier des processus de Poisson non-homogenes (ou N.H.P.P.), cette relation peut ^etre etablie analytiquement [69], [6]. Nous consacrerons la prochaine sous-section aux processus N.H.P.P., vu leur grande importance dans la famille des modeles de abilite.

En vie operationnelle, les temps des corrections e ectuees avant relance, de reinitialisation du systeme apres defaillance du logiciel a ectent la s^urete de fonctionnement. Dans ce cas, on s'in-teresse alors a l'evaluation de la disponibilite. Elle est de nie [86] comme une mesure du service correctement accompli par le systeme relativement a l'alternance service delivre et interruption. En n l'indisponibilite d'un systeme suite a des arr^ets provoques par une defaillance logicielle peut ne pas ^etre negligeable devant l'indisponibilite due aux defaillances materielles. Son expres-sion depend alors non seulement du processus de defaillance mais egalement du processus de maintenance du programme. Pour plus de details, on se reportera a [86],[55],[69],[89],[95],[136]. Nous etudierons ici plut^ot la phase de developpement et les mesures de abilite qui lui sont associees.

2.2.2 Processus N.H.P.P. (Non Homogeneous Poisson Process)

La majorite des modeles de abilite repose sur cette famille des N.H.P.P., pour lesquels les inter-arrivees ne sont ni independantes ni identiquement distribuees. Le processus de comptage (Nt)t0 est dit un processus de Poisson non-homogene (ou non-stationnaire) de fonction intensite fh(t);t0g si (voir par exemple [127]),

(i) N(0) = 0;

(ii) fNt;t0gest a accroissements independants, i.e pour toutt

0 < t1<

< tn, les variables aleatoires (Nt1 Nt0);...;(Ntn Ntn 1) sont independantes;

(iii) IPfNt +dt Nt 2g=o(dt); (i) IPfNt +dt Nt = 1 g=h(t)dt+o(dt).

Ceci di ere d'un processus de Poisson homogene par le fait que les accroissements ne sont plus stationnaires (ou homogenes), c'est a dire pour tout t > 0, Nt+s Nt n'a plus la m^eme loi queNs. Si le nombre d'evenements sur un intervalle n'est toujours pas in uence par le nombre

d'evenements sur un autre intervalle disjoint, il n'est plus une simple fonction de la longueur de l'intervalle. En fait, on autorise le taux de defaillance a dependre du temps contrairement au processus de Poisson classique.

(10)

Le nombre d'evenements sur un intervalle [t;t+s] est distribue selon une loi de Poisson de moyenne M(t+s) M(t), i.e IPfNt +s Nt =n g= expf (M(t+s) M(t))g fM(t+s) M(t)g n n! :

Si t est la date d'occurrence du (i 1)eme evenement, la fonction abilite associee au ieme evenement est donnee par

Ri(sjt) = expf (M(t+s) M(t))g: La fonction densite de probabilite se deduit de la abilite :

fi(sjt) =

dRi

ds (sjt) =h(t+s)Ri(sjt):

Une propriete essentielle des N.H.P.P. est la similitude entre les expressions du taux de mani-festation de l'evenement i et de l'intensite de defaillance; seul l'instant de debut d'observation change :

(sjt) =h(t+s):

On peut donc constater que la distribution du nombre d'interruptions sur un intervalle quel-conque et les di erents attributs du paragraphe precedent, sont speci es par la seule donnee de la fonction valeur moyenne ou de la fonction intensite.

2.2.3 Modelisation de la abilite

Cette sous-section est consacree a la de nition et la nature du probleme pose par l'evaluation de la abilite. Ce probleme consiste a donner une description mathematique (un modele) du comportement du logiciel, capable de fournir des informations sur son evolution a partir de collectes de donnees. Ainsi, sur la base de l'histoire du comportement du programme, le modele doit fournir une mesure quantitative de la abilite courante et future du logiciel. En pratique, l'utilisateur ne demande pas (et ne peut pas esperer) une representation complete du futur. La abilite courante constitue deja un bon indicateur de la qualite du programme en phase de developpement. Elle s'exprime alors en termes des mesures de la sous-section 2.2.1. On ne s'interessera ici qu'a ce probleme, plus simple et qui peut ^etre resume de la facon suivante.

1. Les donnees disponibles sont une suite de durees d'executionx1;x2;::::;xi 1 entre les (i 1) premieres defaillances successives.

2. Ces valeurs peuvent ^etre vues comme des realisations des variables aleatoires X1;X2;...;

Xi 1. L'objectif est alors d'utiliser ces observations pour predire la variableXi, c'est a dire le temps jusqu'a la prochaine defaillance.

Il est important de souligner que ce probleme simpli e reste tout de m^eme un probleme de prediction car il evoque le futur via la date de la prochaine defaillance [1],[113],[20]. D'autres metriques, comme le nombre de fautes contenues par le programme, ont egalement un inter^et dans la mesure ou elles contribuent a une meilleure evaluation de la s^urete de fonctionnement d'un logiciel [1]. Cependant, une etude telle que celle decrite dans [3], montre que de grands

(11)

systemes peuvent contenir un nombre important de fautes et mettre en evidence une forte abilite.

On arrive ainsi a la notion de systeme de prediction telle qu'elle est introduite dans [1]. Un systeme de prediction comprendra :

1. le modele probabiliste, qui speci e la distribution jointe de tout sous-ensemble des Xj

conditionnellement a un certain nombre de parametres inconnus;

2. une procedure d'inference statistique pour ces parametres, utilisant les donnees disponibles; 3. une procedure de prediction combinant 1 et 2 pour e ectuer des calculs probabilistes sur

les futures variablesXj.

La premiere composante est evidemment centrale dans un tel systeme, elle doit ^etre la plus proche possible de la realite pour donner une bonne precision aux resultats issus de l'etape 3. Cependant les etapes 2 et 3 sont trop souvent negligees. Des changements de methodes d'estimation dans 2 peuvent avoir des repercutions signi catives sur les predictions [1], [49], [64]. Ainsi un bon systeme de prediction doit disposer selon [63] des proprietes suivantes :

 donner de bonnes previsions du comportement futur des defaillances,  fournir des grandeurs utiles,

 ^etre simple dans son interpretation et sa mise en oeuvre,  ^etre d'une application la plus large possible,

 ^etre construit sur des hypotheses rigoureuses et en tout cas clairement etablies.

Il est evident que le poids attribue a chaque point peut varier selon le type d'application. Par exemple le troisieme point a une grande importance dans le contexte industriel alors que le premier est essentiel pour des applications ou l'on exige un fort degre de abilite du logiciel. En general, ce sont les conditions 1 et 5 qui generent le plus de controverses (voir par exemple [53],[129]).

Dans la prochaine section nous allons presenter un certain nombre de systemes classiques. Une majorite d'entre eux reposent sur les processus N.H.P.P. decrits dans la sous-section 2.2.2. Ceci s'explique aisement par un souci constant de prendre en compte une caracteristique essen-tielle de la phase de developpement d'un logiciel, le phenomene de \croissance de abilite". En e et, durant la phase de test, il est espere que le debogage soit e ectue de maniere ecace (ou en tout cas susamment ecace) pour que les corrections apportees permettent une reduction sensible du nombre de defaillances et par la m^eme, accroissent notre con ance dans le service delivre par le programme. Ceci se traduit generalement, au niveau du modele probabiliste, par une hypothese de decroissance des taux de defaillance successifs ou d'une decroissance de l'in-tensite de defaillance. Avec un N.H.P.P., ce phenomene de \croissance de abilite" se modelise naturellement en termes de decroissance de la fonction de renouvellement (ou duROCOF).

En n, il est clair que la abilite d'un logiciel represente une vue de sa qualite essentiellement orientee utilisateur, alors que pour un concepteur, un critere qualitatif d'un programme peut consister a determiner des estimations du nombre de fautes encore presentes a un instant donne. Dans la section suivante, nous verrons un certain nombre de modeles issus de cette derniere approche.

(12)

3 Divers modeles

La plupart des modeles qui sont presentes ici ne concernent que la phase de developpement (debogage, test) du logiciel. D'autres, bien adaptes a la phase de validation, seront decrits dans la sous-section 3.2. Pour des modeles dedies plus speci quement a la phase operationnelle, on renvoie a [86],[55],[69],[89],[95],[136]. Notre but est de recenser la famille des modeles (analy-tiques) historiquement ou conceptuellement importants. Nous ne pretendons pas ^etre exhaustif. Les articles [10],[38],[132],[123],[54],[1],[63],[102] decrivent a peu pres tous les modeles existants. Deux grandes classes se degagent.

 Les modeles bases sur une analyse dynamique (temporelle) du processus de defaillance qui fournissent des mesures de la abilite d'un logiciel telles que celles decritent en Section 2. La sous-section 3.1 leur est consacree.

 Les modeles construits a partir de la de nition suivante de la abilite : c'est la probabilite que le programme delivre une sortie correcte a partir d'une entree donnee. La granularite \temporelle" est cette fois une execution du programme. Ces modeles seront quali es de statiques et feront l'objet de la sous-section 3.2.

3.1 Modeles dynamiques

La modelisation du processus de defaillance a pour objectif de donner, dans un environnement

speci e

,

 soit la probabilite qu'aucune faute logicielle ne provoque une discrepance non tolerable des speci cations durant une certaine periode d'observation,

 soit une estimation du nombre de fautes encore presentes dans le programme a un instant donne.

De plus, l'evolution de ces mesures au fur et a mesure des corrections apportees, doit suggerer une tendance vers une con ance accrue dans le produit developpe. Ainsi ces modeles sont usuel-lement designes comme des

modeles de croissance de abilite

. En general, les estimations obtenues en n de conception sont censees donner une projection de la abilite du logiciel en phase operationnelle. Ainsi, il est alors toujours suppose (et espere) que les entrees test sont les plus representatives possible de l'environnement operationnel du programme. Ceci peut para^tre contradictoire avec l'hypothese commune a tous ces modeles d'une selection aleatoire et inde-pendante des entrees test, mais ces modeles sont tous presentes comme des approximations des phenomenes reels de defaillance d'un logiciel. Chacun par sa conception, ses hypotheses, essaie de reproduire au mieux le comportement observable du programme. On pourra ainsi constater que nombre d'entre eux ne sont que des tentatives de reponses aux limites d'un modele initial. Par exemple, le premier modele speci quement dedie au logiciel, d^u a Jelinski et Moranda [65], en a genere une multitude d'autres, sensiblement equivalents, mais obtenus par une modelisation jugee plus satisfaisante par leurs auteurs [112],[97] ou en relaxant quelques conditions [109],[56].

(13)

3.1.1 Modele de Jelinski-Moranda (JM) [65]

Les hypotheses utilisees par ce modele sont les suivantes :

 on suppose qu'il existe un nombre niN de fautes dans le programme avant le debut des tests,

 chaque faute detectee est detruite avec certitude dans un temps negligeable,

 les intervalles entre deux defaillances sont representes par des variables aleatoires Xi in-dependantes et de distribution exponentielle de parametre dependant du numero i de l'intervalle,

 aucune nouvelle faute n'est introduite au cours des di erentes corrections,

 le parametre i de la loi (exponentielle) de la variable Xi, representant le temps ecoule entre la (i 1)eme et la ieme defaillance, est suppose a chaque instant proportionnel au nombre courant de fautes contenues dans le programme, i.e

i= fN (i 1)g ou  est une constante de proportionalite.

On remarque qu'entre deux defaillances consecutives le taux de defaillance reste constant, qu'a chaque apparition d'une erreur le taux decro^t d'une valeur constante (et deterministe) . Nous en deduisons que chaque faute contribue de maniere uniforme a la non- abilite du logiciel. Ce modele a ete etendu par Suckert [139],[138] en incluant une eventuelle correction de plusieurs fautes suite a une defaillance. Le taux de defaillance devient alors

i = fN ni 1

g

ouni 1 designe le nombre cumule de corrections jusqu'a la (i 1) 

eme defaillance.

Ce modele contient deux parametres a estimer : N et . Les estimateurs de maximum de vraisemblance Nb et  sont solutions des equations suivantes :b

m X i=1 1 N ni 1 m X i=1 xi = 0; nm  m X i=1 (N ni 1)xi = 0;

ouxi est la longueur duiemeintervalle de defaillance et mle nombre d'intervalles de defaillance observes.

(14)

t4 t3  n3 n2 n1 0 t1 N t t2

Nous donnerons pour tous les modeles de cette section les mesures de abilite conditionnelles (a la date d'occurrence de la derniere defaillance). Elles correspondent a des estimations relatives aux variables (Xi)i1. Les principaux attributs de la abilite durant le i



eme intervalle de debogage,

admettent alors les expressions suivantes : pour ni 1 fautes corrigees, (MTTFd ) i = (N nb 1 i 1) b  b Ri(t) = exp n (N nb i 1) b to 8t0:

Commentaire.

Les reserves les plus serieuses emises a l'egard de ce modele sont 1. l'uniformite de la contribution de chaque faute a la non- abilite du logiciel, 2. les corrections n'introduisent pas de fautes supplementaires.

Un \poids" identique pour chaque faute semble peu plausible et des etudes empiriques [3],[116] suggerent que la contribution de chaque faute peut varier de maniere tres signi cative. De m^eme il semble peu realiste d'armer que toute modi cation du programme ne generera aucune nouvelle faute.

3.1.2 Modele de Jelinski-Moranda bayesien (BJM) [97]

Une sur-estimation de la abilite est souvent constatee lors de l'utilisation du modele JM. Le choix de la methode de maximum de vraisemblance comme processus d'inference a alors donne lieu a de nombreuses etudes sur les qualites statistiques des estimateurs obtenus [47],[99],[67],[137],-[60],[66]. Littlewood et Verall ont m^eme demontre que sous certaines conditions l'unique maxi-mum de la fonction de vraisemblance est donne par Nb =

1 et b

 = 0 avec pourtant b= Nbb ni. Dans le but de surmonter ces dicultes, Littlewood et Sofer proposent une reformulation bayesienne du modele JM (voir [101] et [35] pour une approche bayesienne plus directe). Tout d'abord une reparametrisation de (;) en N est e ectuee, ou  represente maintenant le taux de defaillance initial. Les temps d'execution d'inter-defaillance sont toujours supposes independants et distribues exponentiellement de parametres successifs

(15)

Ainsi n'est plus astreint a ^etre un multiple entier de . Alors chaque correction, exceptee la derniere, reduit le taux de defaillance du programme de . Si ce taux est inferieur ou egal a , la prochaine correction rend le programme \parfait" (taux nul). Suivant l'approche bayesienne classique, on attribue une distribution a priori au couple de variables aleatoires (;), uniforme dans [97], i.e

f(;)1 pour;>0:

La densite de la loi a posteriori de (;), i.e une fois avoir observe les intervalles d'inter-defaillances x1;x2;

;xi

1 est obtenu gr^ace au theoreme de Bayes :

f(;jx

1;...;xi 1) =Kf(x1;...;xi 1

j;)f(;) (1) ou K est une constante de normalisation et f(x1;...;xi 1

j;) la fonction de vraisemblance dont l'expression est donnee par

8 > > > > < > > > > : i 2 Y k=0 ( k)exp ( i 2 X k=0 ( k)xk+1 ) si(i 2) 0 autrement:

De nombreuses quantites sont alors calculees dans [97], comme la fonction de abilite courante une fois avoir observei 1 defaillances. Pour cela de nissons la fonction abilite conditionnelle

Ri(tj;) = IP(Xi> tj;) =

(

expf ( (i 1))tg si >(i 1);

1 si (i 2)<  <(i 1): (2)

La fonction abilite predictive (bayesienne) est alors obtenue par melange des quantites (2) et (1), c'est a dire en deconditionnant (2) avec la distribution (1) regissant les valeurs de ses parametres. b Ri(t) = Z Z Ri(tj;)f(;jx 1;...;xi 1)dd:

Cependant Littlewood conclut sur la base d'une etude comparative avec le modele de J.M a une amelioration marginale de la qualite des predictions realisees [97]. Ce qui laisse a penser que le modele probabiliste lui-m^eme est en cause et non la procedure d'inference.

3.1.3 Modele \temps d'execution"de Musa (Mus) [112]

Le processus modelise est le \nombre de fautes corrigees sur une periode d'observation". On suppose l'existence d'un nombreN0 de fautes dans le logiciel. Sin() est le nombre de corrections apportees pour une periode d'observation [0;], ou est mesure en

temps d'execution

(CPU), et siN() designe le nombre de fautes residant encore dans le programme a l'instant  alors

N() =N

(16)

Le taux de defaillance est suppose a chaque instant proportionnel au nombreN et a la frequence lineaire d'execution f (f represente le rapport entre le taux moyen d'instructions executees et le nombre total d'instructions du programme). Ainsi, on a

() =KfN() =Kf(N

0 n()):

Alors le fait qu'aucune nouvelle faute ne soit introduite lors d'une correction est exprime par l'egalite du taux de correction des fautes et du taux de defaillances, i.e

dn

d() =()()

dn

d() +fKn() =fKN0: (3) En resolvant l'equation di erentielle avec la condition initiale n(0) = N0, on obtient le nombre de corrections realisees sur la periode [0;]:

n() =N0

f1 exp( fK)g:

Les principales mesures de abilite associees a la periode d'observation [0;] sont alors : (MTTF) = 1fKN 0 exp (fK) = (MTTF)0exp   N0(MTTF)0  ; R(t) = exp ( t (MTTF) ) ;

ou t represente le temps ecoule depuis la date . On constate que le MTTF cro^t exponentiel-lement avec le temps de test.

L'article de Musa contient une generalisation de ce modele, incluant d'eventuelles introduc-tions de nouvelles fautes ou correcintroduc-tions multiples apres une defaillance. Pour cela deux para-metres supplementaires sont introduits :

B le rapport entre le nombre nde corrections et le nombrem de defaillances observees pour corriger ces nfautes,

C un facteur de representativite de la vie operationnelle associe aux conditions de test. Le processus d'inter^et devient alors le nombre m de defaillances necessaires a la correction des

N0 fautes. La formule (3) est transformee en

dm

d () +BCfKm() =BCfKM0;

ou M0 est le nombre de defaillances necessaires a la correction des N0 fautes. On obtient

m() = BfM1 0K

exp( BCfK):

Cette formule permet d'obtenir les mesures de abilite classiques, comme par exemple le (MTTF) = ( 1BfKM

0

(17)

Remarques.

(R1) B est generalement positif et plus petit que 1 mais il est concevable qu'il soit negatif ou nul. Il peut egalement ^etre plus grand que 1 dans le cas ou le fait de trouver la faute engendrant une defaillance donnee, provoque l'introduction de nouvelles fautes a detecter et a corriger. (R2) Les estimateurs de maximum de vraisemblance du modele sont donnes dans [112].

(R3) Il est reconnu que les parametres B et C sont en general tres diciles a estimer. Ils sont presque toujours pris egaux a 1.

Commentaires.

1. Musa est le seul auteur a de nir explicitement la dynamique temporelle de son modele en termes de

temps d'execution

(CPU). Les autres modeles sont generalement expri-mes dans une unite de temps quelconque, calendaire ou d'execution. Musa est egalement l'auteur de l'unique contribution [114] sur le choix de l'echelle temporelle a adopter pour la collecte des donnees dans un projet. Une des raisons essentielles pour retenir le temps CPU est que le temps calendaire est beaucoup trop a ecte par des facteurs exterieurs au processus de defaillance, comme par exemple les variations de ressources disponibles en personnel et materiels durant la phase de test.

2. De plus, Musa est le seul auteur a o rir un outil de transformation en temps calendaire, des estimations en temps d'execution, incluant des contraintes de qualite, de variation et de limitation des ressources disponibles. Ceci permet d'obtenir des mesures facilement exploitables dans la gestion du developpement d'un projet.

3. Il est facile de voir que l'approche utilisee par Musa est equivalente mathematiquement a celle de Jelinski. En particulier l'hypothese de distribution exponentielle pour les inter-valles entre deux defaillances consecutives est remplacee par l'hypothese d'un nombre de corrections modelise par un processus de Poisson dont le parametre ne varie que lorsqu'une faute est detruite. Cependant le developpement de son modele est juge plus satisfaisant par la plupart des specialistes du domaine que celui adopte dans JM.

4. On constate que ce modele de croissance de abilite a ete sans aucun doute le plus usite. Son succes est principalement d^u a sa simplicite et a sa composante calendaire evoquee precedemment.

3.1.4 Modele de Schick et Wolverton (SW) [130]

Ce modele a donne lieu a une discussion animee entre Schick,Wolverton et Moranda par articles interposes. Un resume de cette discussion se trouve dans [53]. Ceci montre l'importance de mettre en evidence les hypotheses choisies dans la description d'un modele pour en tirer des resultats analytiques incontestables par la suite. Les hypotheses de JM sont reprises exceptee pour le taux de defaillance i est devient proportionnel au tempstecoule depuis la derniere defaillance; c'est

a dire

i(t) = fN (i 1)gt:

La m^eme extension que pour le modele de JM permet d'inclure la possibilite de corriger plu-sieurs fautes apres la manifestation d'une defaillance. Si ni 1 represente le nombre cumule de

(18)

corrections apres (i 1) defaillances, le taux devient :

i(t) = fN ni 1

gt:

Ainsi, sur chaque intervalle de defaillance, le taux cro^t lineairement avec le temps, avec une vitesse (une pente) qui se reduit d'intervalles en intervalles, proportionnellement a . On obtient donc la courbe suivante d'evolution du taux selon le temps cumule depuis le debut de la phase de test:  x4 t t4 x3 x2 x1 t3 t2 t1 0

Les parametres N et  sont a estimer. Les estimateursNb, obtenus par maximum de vraisem-b blance sont solutions des equations suivantes:

m X i=1 1 N ni 1 m X i=1 xi2 2 = 0 nm  m X i=1 (N ni 1) xi2 2 = 0 ou m designe le nombre d'intervalles d'inter-defaillance observes.

Les mesures de performance sur le ieme intervalle de defaillance sont, pour n

i 1 fautes cor-rigees, (MTTFd ) i = s  2(N nb i 1) b ; b Ri(t) = exp ( (N nb i 1) b  t2 2 ) 8t0:

Schick et Wolverton ont modi e leur modele [129] de telle sorte qu'entre deux defaillances successives, la fonction taux est supposee parabolique ent; c'est a dire

i(t) = fN (i 1)g ( at

2+bt+c);

oua;b;csont des constantes et les autre quantites N; sont a estimer. Cette fonction peut ^etre vue comme la superposition du taux de defaillance de JM et d'un second terme indiquant que la vraisemblance de l'occurrence d'une defaillance, s'accro^t rapidement avec le temps ecoule depuis la derniere correction. Cependant le phenomene de decroissance de abilite entre deux defaillances exprime par ce modele semble plus adapte au materiel (phenomene d'usure) que pour le logiciel.

(19)

3.1.5 Modele geometrique de Moranda (M) [109]

Moranda tente de repondre a la principale critique emise a l'egard du modele JM, a savoir l'uni-formite du poids accorde a chaque faute sur le taux de defaillance du logiciel. Le taux decro^t ici geometriquement durant le debogage. Ainsi les poids accordes aux defaillances consecutives sont strictement decroissants. Dans la presentation originale, une seule erreur est detruite dans chaque intervalle d'inter-defaillance. Nous donnons, la encore, l'extension de Sukert avec d'even-tuelles corrections multiples. La fonction taux sur le ieme intervalle d'inter-defaillance est donc de nie pouri1 par :

i=Dkni 1;

ou D est le taux de detection d'une erreur durant le premier intervalle de defaillance, k une constante strictement positive et strictement plus petite que 1. Une remarque immediate est l'elimination de l'hypothese d'existence d'un nombre a priori ni de fautes. Cependant, on cons-tate que la decroissance des taux successifs est encore deterministe :

i i 1 = (1 k

ni 1 ni 2)Dkni 2:

Nous obtenons donc une courbe d'evolution du taux de defaillance du type:

t3 t2 t1 t4 t  D 0

Les estimateurs D;b kb de maximum de vraisemblance des parametres D et k sont solutions des deux equations suivantes:

1 k m X i=1 1 ni 1 D Xm i=1 ni 1k ni 1x i = 0; nm D m X i=1 kni 1x i = 0;

ouxiest la longueur duiemeintervalle de debogage etmest le nombre observe de tels intervalles. Les principales mesures de abilite basees sur un nombre ni 1 de corrections sont :

(MTTFd ) i = 1 b Dkbni 1 ; b Ri(t) = expf b Dkbni 1t g; t0:

(20)

Commentaires.

1. Ce modele peut ^etre vu comme un cas particulier des modeles proportionnels de Gau-doin et Soler [51],[50]. En e et, la relation utilisee entre les taux (i) est de la forme

i+1 = Cii pour i

 1, mais i est considere comme une variable aleatoire et (Ci)i 1 est une suite de variables independantes (et independantes de 1) representant l'e et de la correction apportee au logiciel apres laieme defaillance. La position de C

i par rapport

a 1 permet de modeliser une croissance, une decroissance ou une stabilite de la abilite. Le cas deterministe 1 =, et

8i1 Ci =c permet de retrouver le modele geometrique. On trouvera dans [52] une etude statistique complete du modele de Moranda. Le cas ou 1 =  et (Ci) est de loi lognormale (i.e Ci = exp ( i) ou (i)i1 est une suite de variables independantes et de m^eme loi normale) est etudie dans [51].

2. Pour introduire une diversite des poids accordes aux di erentes fautes sur la abilite, Xie introduit dans [142] une famille de modeles constituant une generalisation directe du modele JM. En e et les hypotheses sont identiques excepte que le taux de defaillance i

est une fonction convexe du nombre residuel de fautes (N0 i+1) et non plus lineaire. En particulier, une fonction puissance est etudiee dans [19] (i.e i =(N0 i+ 1)

) et une

fonction exponentielle dans [143] (i=fexp( (N

0 i+ 1)) 1

g). Par ailleurs, on peut retrouver le modele M a partir du taux exponentiel et d'une reparametrisation adequate (voir [143]).

3.1.6 Modeles de Littlewood (L) [96],[92] et de Littlewood-Verrall (LV) [98]

Ces deux modeles dus a Littlewood et Verrall se demarquent de tous les autres car le processus de defaillance est considere comme doublement stochastique. Avant de les decrire, nous allons presenter le modele conceptuel sous-jacent [96],[93],[86],[88].

Un programme est represente par une applicationpqui envoie l'espaceEde toutes les donnees possibles du logiciel, dans l'espaceS des resultats qu'il peut delivrer. SiED est le sous-ensemble

des entrees conduisant a une sortie non conforme aux speci cations, i.e a une defaillance, alors on lui associeSD le sous-espace de S des resultats errones produit parED.

SD

ED

S E

P

Si on suppose que chaque defaillance peut ^etre provoquee par une et une seule faute on peut e ectuer une partition de ED en sous-ensembles disjoints de donnees activant les di erentes

fautes. Chaque correction e ectuee dans le programme attribue a l'un d'entre eux le statut de sous-ensemble generant un service conforme. Nous disposons alors d'un nouveau programme p1

(21)

d'espace des entrees E(1) et des resultats S(1). Le processus operationnel du logiciel consiste en une selection de trajectoires dans l'espaceEque l'on peut raisonnablement quali er d'aleatoire : ce qui est designe comme "

l'incertitude sur les donnees

" dans [96].

En repetant la suite d'operations precedentes, nous obtenons une suite de programmes

p1;p2;...;pn;... correspondant chacun a des periodes de fonctionnement jusqu'a defaillance. A chaque pi est associe un domaine ED(i) et S

D(i). La croissance de abilite s'exprime alors simplement par la relation suivante

ED(1) ED (2) ED (n)  (4)

Elle resume le souhait de chaque programmeur. Mais cette relation ne peut pas ^etre garantie (de nouvelles erreurs pouvant ^etre introduites lors de corrections). Il y a donc une seconde source d'incertitude dite

\incertitude sur le programme"

[96]. Ceci peut se resumer par le fait que le taux d'occurrence des defaillances est lui m^eme une variable aleatoire plut^ot qu'un processus deterministe tel que dans les modeles JM, M, Mus, etc... Ainsi, tous les modeles presentes jusqu'ici ne considerent que la premiere source d'incertitude.

Le but du programeur etant d'obtenir une suite du type (4), ceci induit la relation suivante sur les variables

aleatoires

taux de manifestation des defaillances consecutives : j  j

1. Cette inegalite est utilisee de maniere directe dans [96] et comme une inegalite stochastique dans [98], c'est a dire

j st j 1; i.e ( 8t2IR : IPfj tgIPfj 1 tg): (5)

1 Modele de Littlewood (L)

Littlewood dans [96] emet des reserves quant a l'association evaluation de la abilite et determi-nation du nombre residuel de fautes dans le programme. Le nombre residuel de fautes peut ^etre interessant pour prevoir par exemple l'e ort de maintenance necessaire au programme, mais il ne constitue pas une bonne mesure de con ance en la capacite d'un logiciel a s'executer correc-tement. Des etudes [3],[116] ont demontre que certains logiciels contenant de nombreuses fautes delivraient tout de m^eme un service able.

De plus, Littlewood rejette l'hypothese selon laquelle chaque correction a le m^eme e et sur la abilite du programme. Ceci est utilise dans JM par exemple. En e et, il semble clair que dans un programme certaines fautes ont un taux d'occurrence beaucoup plus important que d'autres car, par exemple, les portions de codes ne sont pas visitees uniformement. Les fautes avec un fort taux de manifestation seront detectees et corrigees en premier et auront donc une in uence plus importante sur la abilite que les dernieres mises a jour. A ceci on pourra bien s^ur objecter qu'en phase de test les entrees sont selectionnees pour couvrir le maximum d'instructions.

Conservant l'approche \compteur de fautes", Littlewood tente de faire surmonter a tous les modeles qui en sont issus, la seconde reserve. Nous avons donc toujours un nombre a priori ni

N de fautes dans le programme, les corrections sont e ectuees avec certitude et la distribu-tion condidistribu-tionnelle du temps ecoule entre la (i 1)eme et ieme defaillance est exponentielle de parametre i, i.e

f(xiji =i) =iexp ( ixi): (6) Les distributions (6), pouri1, sont supposees deux a deux independantes. Le parametre taux de defaillance i est traite ici comme une variable aleatoire, ce qui modelise l'incertitude sur la

(22)

contribution de chaque correction a la abilite du logiciel. Dans ce modele la suite des variables (i)i1 est de nie par

i = 1+ 2+

+ N i

+1; (7)

ou j represente la variable aleatoire taux de manifestation de la defaillance provoquee par la

jeme faute. Ces variables sont supposees independantes, identiquement distribuees et initialement de loigamma( ; ).

Ce modele re ete bien l'intuition qui veut que les premieres corrections tendent a ^etre asso-ciees aux fautes ayant les taux d'occurrence les plus importants. En e et, apres (i 1) corrections et des durees successivesx1;x2;...;xi 1de bon fonctionnement, les (N i+1) fautes residuelles ont des taux de manifestation representes par des variables aleatoires independantes, identique-ment distribuees et de loigamma( ;Pi

1

j=1xj+ ). Ces taux d'occurrence valent donc en moyenne

=( +), si =Pi 1

j=1xj, et sont d'autant plus grands que  est petit.

D'autre part, le taux de defaillance global i du programme est la somme de (N i+

1) variables aleatoires independantes de distribution gamma( ; +). Il suit donc une loi

gamma((N i+ 1) ; +). En observant que i vaut en moyenne f(N i+ 1) g=f +g, on constate que les premieres fautes corrigees provoquent bien les plus grandes chutes de la valeur du taux de defaillance du programme. L'amplitude de la decroissance est de =( +).

La distribution non-conditionnelle du ieme intervalle d'inter-defaillance est obtenue par me-lange de la loi exponentielle de (6) et de la loi gamma((N i+ 1) ; +). Il en resulte une distribution Pareto de densite

f(xi) = (N i+ 1) ( +)

(N i+1) ( + +xi)(N i+1) +1 ; de taux de defaillance

i(t) = (N i ++ 1)+t :

Ce taux est une fonction decroissante de t (modele DFR dans la terminologie de [8]). Cette propriete est independante de la loi choisie a priori pour les i. C'est une consequence generale

de l'operation melange [8]. Ainsi le taux de defaillance decro^t contin^ument durant le processus de test, avec des chutes d'amplitudes aleatoires apres chaque correction. Ceci donne une courbe d'evolution du taux de defaillance en fonction du temps d'execution tde la forme :

t4 t t3 t2 t1  0 N

(23)

Avec =Pi 1

j=1xj, les mesures de abilite sont donnees par b Ri(t) = ( b + b ++t ) ( b N i+1) b ; (MTTFd ) i= b + (N ib + 1) b 1:

L'estimation des parametres ; ;N n'est pas facile a realiser en particulier par maximum de vraisemblance. Cependant quelques simpli cations peuvent ^etre obtenues en remarquant que

b = i 2 i 1 X m=1 ln ( b + Pm j=1xj b + ) +Nbln  b + b :

Ce qui permet la recherche du maximum d'une fonction de vraisemblance a deux parametres (N; ).

Remarque.

Un certain nombre de problemes sont abordes dans [92], comme la prediction de la abilite non pas courante mais apres l'occurrence d'un certain nombre de defaillances supplementaires ou le temps necessaire a la correction de la derniere faute.

Commentaires.

1. Ce modele de croissance de abilite constitue donc une proposition d'extension des pre-miers modeles mais en conservant leur approche initiale du probleme. Il ne decrit pas completement le modele conceptuel presente en debut de paragraphe car les corrections sont toujours e ectuees avec certitude (la correction d'une faute a toujours un e et \po-sitif" sur la abilite). Cependant il faut en retenir que chaque faute eliminee contribue de maniere di erente a la abilite du programme et que les fautes a fort taux de manifestation seront vraisemblablement detectees et corrigees durant la phase initiale de la procedure de test.

2. Les modeles L et JM appartiennent a une classe de modeles appelles binomiaux dans [63]. Les hypotheses sous-jacentes sont identiques a celles de JM sauf que le taux de defaillance apres la (i 1)eme defaillance est autorise a dependre du temps. Pour cela, Shanthikumar dans [131] propose une formulation generale ou le processus de comptage des defaillances sur [0;t], (Nt)t0, est decrit comme un processus markovien non-homogene. Sachant qu'a la dateton a observe (i 1) defaillances, le taux de transition vers l'etat iest pris egal a

(t)(N i+ 1):

La variable trepresente ici un temps cumule et non le temps ecoule depuis la derniere de-faillance. Ainsi le taux de defaillance (conditionnel) entre la (i 1)emeet laiemedefaillance vaut :

i(xjti

1) = (ti 1+x)(N i+ 1): (8) La loi du processus (Nt)t0 est alors binomiale de parametre

F(t) = 1 expf Z t

(24)

IPfNt =ig=

N i

!

[F(t)]i[1 F(t)]N i; 1iN: (9) On constate donc qu'un modele binomial est entierement determine par la donnee de la fonction f(t);t  0g. Comme pour le modele L, on peut identi er (t) au taux de manifestation d'une faute (depuis l'instant initial t= 0) et F(t) represente la fonction de repartition associee a la variable aleatoire \temps de manifestation d'une faute". Apres l'occurrence de (i 1) fautes, on peut alors interpreter (8) comme la somme des taux de defaillance (ti 1+x) des (N i+1) fautes residant encore dans le programme. Dans le cas ou (t) = ,F(t) est associee a une loi exponentielle de parametre  et on obtient ainsi le modele JM. Pour (t) = =( +t),F(t) caracterise une distribution Pareto et on retrouve le modele L. Si on se tient a la formulation des modeles de Schick et Wolverton avec un taux ne dependant que du temps ecoule depuis la derniere defaillance, alors ils n'appartiennent pas a la famille binomiale. Par contre, ils en font partie si la m^eme forme de dependance est reprise avec le temps cumule depuis le debut de l'observation du processusNt. Les fonctions

taux sont alors respectivement (t) = tet (t) = ( at2+bt+c). Cette interpretation a ete retenue dans [63] mais ne semble pas ^etre coherente avec la presentation originale de ces modeles [57],[129]. Il est important de noter que seul l'element \extr^eme" JM de cette famille binomiale propose une contribution uniforme

dans le temps

de chaque faute. Ce n'est pas le cas pour un membre \normal" tel que le modele L. Sa fonction f(t);t 0g permet d'introduire une non-uniformite dans le temps de cette contribution (voir commentaire precedent). Cependant, a un instant donne, toutes les fautes residuelles ont le m^eme taux de manifestation.

3. Pour les modeles binomiaux decrits dans le point precedent, excepte pour le modele JM, les variables non-conditionnelles Xi ne sont plus independantes contrairement a celles de

tous les modeles precedents ainsi qu'a celles de LV (voir par exemple [50]). Le modele L ne contient donc qu'une independance

conditionnelle

des variables \intervalle d'inter-defaillance", c'est a dire des distributions (6).

2 Modele de Littlewood-Verall (LV)

Il s'agit du second modele ou les taux de defaillances (i)i1 sont traites stochastiquement. Cependant la suite des taux sera ordonnee par la relation d'ordre stochastique

j st j

1; i.e (

8t2IR : IPfj tgIPfj 1

tg): (10) Cette nouvelle relation elimine l'hypothese qu'aucune faute n'est introduite lors d'une correction. Ce modele est une interpretation analytique du modele conceptuel decrit au debut de cette sous-section. Son developpement constitue un bon exemple de modelisation bayesienne d'un probleme. Le temps ecoule entre la (i 1)eme et ieme defaillance est toujours represente par une variable aleatoire Xi distribuee exponentiellement mais

conditionnellement

au taux i. Ces variables

sont supposees independantes deux a deux. On a ainsi

f(xiji=i) = iexp( ixi); xi>0:

La suite (i)i1 forme une suite de variables aleatoires independantes et stochastiquement de-croissantes. La distribution a priori de la variable i est supposee gamma de parametres et

(25)

(i), c'est a dire de densite

f(ij ; (i)) =

(i)  1

i exp( (i)i)

( ) :

On peut montrer que l'inegalite (10) est satisfaite lorsque la fonction (i) est croissante en

i. Cette derniere peut ^etre interpretee comme decrivant la qualite du programmeur (ou du debogueur) et la diculte de la t^ache de programmation. La croissance de abilite est donc exprimee par la croissance de la fonction (i) dont l'expression est laissee sous contr^ole de l'utilisateur. Selon une methode classique en statistique bayesienne, la distribution a posteriori de Xi (de parametres et (i)) est obtenue par melange des deux sources d'incertitude. Elle

admet la densite

f(xij ; (i)) =

(i)

fxi+ (i)g

+1: (11)

Ainsi, Xi suit une loi Pareto et non plus exponentielle.

En pratique la fonction (i) est prise parametrique, par exemple lineaire en i [1]. Dans ce cas on est amene a estimer ses parametres en plus de . Ceci peut ^etre realise par maximum de vraisemblance. Dans le cas ou est lineaire en i, on obtient alors les mesures de abilite suivantes: b Ri(t) = ( b(i) t+ b(i) ) b ; b i(t) = b t+ b(i) d MTTFi = b(i) b 1: (12)

Remarque.

Dans [132], on trouvera l'expression generale de la fonction abilite pour quel-conque.

La courbe suivante represente une evolution possible du taux de defaillance pour le modele LV:

t4 t t3 t2 t1  0

Commentaires.

1. Comme pour le modele precedent, le taux de defaillance decro^t

contin^ument

entre deux interruptions de service consecutives. C'est un phenomene inherent a l'approche bayesienne choisie par Littlewood. En e et la abilite mesure la

con ance

dans un logiciel et cette

(26)

con ance s'accro^t d'autant plus que la periode entre deux defaillances est longue. La presentation adoptee ici ne constitue pas une analyse bayesienne complete car la fonction est choisie parametrique. Cependant le prix a payer en supposant les deux parametres

; aleatoires est tel que dans la pratique le modele est utilise sous la presente forme. 2. On peut constater que les moments de la distribution predictive (11) peuvent ne pas

exister pour certaines valeurs de (par exemple le MTTF pour = 1). Cependant, les distributions de Pareto ont de plus grandes queues que la distribution exponentielle, ce qui implique que les longs intervalles d'inter-defaillance sont statistiquement beaucoup mieux representes (ou ont une plus grande probabilite d'occurrence).

3. Si on ne veut pas choisir a priori l'expression de la fonction parametrique (i), un critere de choix est detaille dans [98]. Il est base sur la transformation integrale de probabilite. Cependant une premiere indication sur la famille de fonctions a adopter peut ^etre obtenue a partir de (12). En e et, le graphe fi;xigpeut suggerer la forme de la fonction (i). Mais en general, l'estimation de cette fonction demeure peu aisee.

4. Une reserve emise par Bastani [12] sur ce modele est que l'apport d'informations supple-mentaires sur la relation entre j et j 1, par exemple si on a j

 j

1, n'introduit aucune simpli cation. En n, le modele LV ne fait pas exception a la regle qu'une meil-leure representation d'un phenomene se fait toujours au prix d'une plus grande complexite du modele. Ainsi, si on peut estimer le nombre de fautes necessaires pour atteindre un niveau de abilite donne, il n'est pas possible de trouver la distribution du temps requis pour atteindre cet objectif. Cette derniere possibilite est par contre o erte par les modeles exponentiels.

5. On peut trouver une variante de ce modele dans [79]. Ce dernier est en tout point semblable a celui que l'on vient de decrire excepte que la croissance de abilite est introduite via le parametre de forme de la loi gamma du taux de defaillance. La variable i admet ainsi

la densite f(ij ; (i)) = (i) (i) 1 i exp( i) ( (i)) :

La croissance de abilite est modelisee par une suite de taux de defaillance stochastique-ment decroissante, i.e (i) est une fonction decroissante de i. Par exemple, la fonction

(i) = ( 1+ 2i)

1 est utilisee dans [1]. La fonction de abilite est alors estimee par b Ri(t) = ( b t+ b ) b (i) ; ou ;b b

sont des estimateurs de maximum de vraisemblance des parametres ; .

6. Bien que LV soit jusqu'ici le modele conceptuellement le plus satisfaisant, il est important de noter que certains auteurs ont etendu les modeles binomiaux (tel que L) pour prendre en compte d'eventuelles corrections imparfaites ou introduisant de nouvelles sources de defaillance. Ainsi Goel et Okumoto [56] proposent une extension du modele JM avec l'in-troduction d'une probabilite p d'eliminer e ectivement une faute. Le taux de defaillance

(27)

apres (i 1) corrections est alors i = (N p(i 1)). De maniere generale,

Shanthi-kumar dans [133] a traite ce probleme de \reparations" non-e ectives pour les modeles binomiaux. Cependant si cette generalisation ne constitue pas une grande diculte, en-visager l'introduction de nouvelles fautes est beaucoup plus delicat. Kremer [84] resoud le cas d'une unique introduction pendant l'action de correction en utilisant un processus markovien non-homogene de naissance et de mort. Shanthikumar et Sumita [134] propo-sent un modele ou sont autorisees de multiples eliminations et introductions de fautes lors d'une phase de correction. Cependant, sa complexite est tres grande et il n'a pas ete utilise dans la pratique (se reporter a [134] pour plus de details).

3.1.7 Les modeles a statistiques d'ordre de lois exponentielles (EOS) [103]

Il s'agit simplement de montrer que le cadre probabiliste propose par Miller dans [103], permet de creer une unite entre di erents modeles de cette section. Le processus de defaillance du logiciel est modelise de la facon suivante :

 Le logiciel contient un certain nombre de fautes. Chaque faute de conception possede son propre taux d'occurrence et provoque, independamment de toutes les autres, des defail-lances du logiciel selon un processus de Poisson si elle n'est pas eliminee. Ainsi le temps de manifestation d'une faute est une variable aleatoire distribuee selon une loi exponentielle (conditionnellement a la donnee de son taux d'occurrence).

 Si on suppose que chaque faute est eliminee immediatement et parfaitement une fois qu'elle s'est manifestee, le processus de defaillance global du logiciel correspond donc au processus des statistiques d'ordre de variables independantes mais non necessairement de m^eme distribution.

Alors selon la nature du taux utilise, Miller distingue les deux sous familles suivantes : 1. L'ensemble des taux de defaillance est deterministe (les modeles DET/EOS).

2. L'ensemble des taux forme une suite de variables aleatoires. Dans cette categorie nous ne nous interesserons qu'au cas des taux identiquement distribues (les modeles DS/IIDOS).

1 Les taux sont deterministes

Nous avons alors un choix de fonction taux tres large. Des cas particuliers importants sont : 1. taux constant :i =  pour i= 1;...;n;

2. taux geometrique :i=0k

i pouri1 et 0< k <1; 3. taux puissance : i = iab pour i1 et b >1.

Le cas 1 correspond exactement au modele JM, le cas 2 au modele de Moranda (utilise dans [116]). Le cas 3 s'apparente au modele de Duane et a ete observe dans [3]. Une variante N.H.P.P. de ce dernier modele [34] sera proposee dans la prochaine sous-section. Dans le cas du modele JM, le processus de defaillance du logiciel est donc represente par les statistiques d'ordre de variables de m^eme loi exponentielle (de parametre ).

(28)

2 Modeles DS/IIDOS

L'ensemble des parametres des distributions exponentielles constitue une realisation d'un pro-cessus stochastique. On suppose que l'on a un nombre ni N de fautes dans le logiciel, dont l'ensemble des taux de manifestation f

1;2;...;N

g constitue la statistique d'ordre d'un N-echantillon d'une m^eme distribution de probabilite. Le processus de defaillance global du lo-giciel admet alors comme variables intervalle d'inter-defaillance X1;X2;..., le processus des \ecarts" des statistiques d'ordre de variables aleatoires independantes et identiquement distri-buees. Un exemple important est fourni par le modele L. Les taux de defaillance admettent la loi

gamma( ; ) comme distribution commune et les variables (Xi) sont les ecarts des statistiques

d'ordre de variables (Yi) independantes et de loi pareto, i.e

X1 =Y (1); Xi =Y(i) Y(i 1) i= 2;3;...; avec Y(1) Y (2) Y (i) , et les (Yi)i

1 suivent la loi de densite

f(y) = ( + y ) +1 y >0:

Un autre exemple est constitue par le modele DS/EOS ou la loi de Yi est supposee Weibull

[30],[1], c'est a dire de densite

f(y) = y 1 exp ( y ):

Commentaires.

1. La reinterpretation des modeles binomiaux tels que JM ou L, est coherente avec l'express-sion de la loi du processus (Nt)t0 donnee en (9). En e et, si la variable Ti represente la date de laieme defaillance d'un tel modele alors on a

IPfTitg= IPfNt ig= N X j=i N j ! [F(t)]j[1 F(t)]N j:

Et ceci represente exactement la fonction de repartition (donc la loi) de laiemestatistique d'ordreY(i)d'une famille deN variables aleatoires

fY 1;

;YNgindependantes et de m^eme loi donnee parF(t) [8] (une loi de Pareto pour le modele L et exponentielle pour JM). 2. La presentation partielle realisee ici de la famille EOS ne doit pas laisser penser qu'elle se

restreint a celle des modeles binomiaux. Il est clair que les DS/IIDOS (avec un nombre ni de fautes) sont exactement les modeles binomiaux. Par contre les DET/EOS avec un nombre in ni de fautes ou DS/EOS avec une suite de taux issue d'une realisation d'un processus N.H.P.P. sortent du cadre binomial (voir [103]).

3.1.8 Les modeles N.H.P.P.

Nous allons developper maintenant une classe de modeles basee sur la modelisation du nombre de defaillances detectees ou corrigees sur une periode d'observation donnee. Formellement, sitc

(29)

est l'instant courant, alors nous disposons d'une collection de dates de defaillance ordonnees de la facon suivante : 0< t1 t 2 tc: (13)

Nous sommes interesses par la fonction nt = maxfi  1 : ti  tg pour t  tc. Parler d'un processus de defaillance revient a considerer les membres de la relation (13) et nt, comme des

realisations des variables aleatoires Ti et Nt = maxfi1 :Ti tg. Le phenomene de croissance de abilite peut ^etre vu comme un comportement bruite autour d'une courbe de tendance [81]. Alors une facon evidente de decrire cette tendance est d'observer l'evolution de la fonction \nombre moyen de defaillances jusqu'a l'instant t", c'est a dire de la fonction

M(t) =E[Nt]; t0: (14) Une famille de processus stochastiques particulierement attractive de ce point de vue, est la famille des processus de Poisson non-homogenes (ou N.H.P.P.). En e et, la distribution de la variableNt est entierement speci ee par la donnee de la fonctionM(t). Ces N.H.P.P. admettent

des nombres de defaillances distribues suivant des processus de Poisson independants dans des intervalles d'observation disjoints :8t0,8s0,n= 0;1;2;...

IPfNt +s Nt =n g= expf (M(t+s) M(t))g fM(t+s) M(t)g n n! :

Nous renvoyons a la Section 2 pour les principales proprietes et mesures de abilite associees a ce type de processus.

Etudier les tendances de la fonction valeur moyenneM(t) revient en fait a etudier l'evolution de sa fonction derivee, appellee fonction intensite et noteeh(t) (cf Section 2). Ainsi dans ce type de modele, l'e ort principal de modelisation se porte sur cette fonction intensite plut^ot que sur le taux de defaillance associe a un evenement. Les modeles existants correspondent donc a di erents choix de la fonction (14). Une abondante litterature existe sur le sujet, dont quelques exemples sont [54],[122],[123],[119],[120],[70],[69],[81]. Nous reprenons la classi cation de ces modeles selon la tendance exhibee par (14) (utilisee dans [69]). Nous rappelons que nous utiliserons aussi bien le terme deROCOF que le terme intensite de defaillance pour la fonction derivee de M(t), ces deux notions etant identiques pour les N.H.P.P. reguliers.

1 Intensite de defaillance en forme de cloche

, c'est a dire traduisant une croissance puis decroissance vers 0 quandttend vers 1.

On retrouve un tel phenomene en phase de test lorsque [122],[119] 1) l'e ort de test est variable,

2) des fautes sont introduites lors des corrections,

3) les donnees sont des donnees d'isolation de fautes et non de detection,

4) presence de fautes liees ou dependantes, i.e certaines fautes ne deviennent detectables que si d'autres fautes ont ete eliminees.

On observe alors un point d'in exion dans la courbe fM(t);t0g qui a ainsi la forme d'un S. Nous avons dans cette categorie :

(30)

La fonction valeur moyenne vaut M(t) =Mf1 (1 + t)exp ( t)g et la fonction intensite

h(t) =M2texp( t) pour t

0: Le point de changement de tendance est donne par le point d'in exion d'absisset= 1=. 0 50 100 150 200 5 10 15 20 25 30 M(t) t: temps cumule 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 h(t) t: temps cumule M=198;=0:15 M=198;=0:4

Les parametres sont le nombre espere M de fautes contenues initialement dans le logiciel, et le taux de detection d'erreurs  (semblable a JM).

b. modele en forme de S avec in exion

(in exion S-shaped) [119]

Les deux fonctions suivantes representent respectivement la fonction valeur moyenne et la fonc-tion intensite de ce N.H.P.P. :

M(t) =Mf1 exp( t)g

1 + exp( t) et h(t) =M(1 +(1 + exp ( )exp( t))t2);

ou est le parametre d'in exion. est de ni par Ohba [119] comme la fonction (r) = (1 r)=r, ou r represente la proportion de fautes detectables parmi toutes les fautes residant dans le programme. On a les courbes suivantes deM(t) pour di erentes valeurs de r:

0 20 40 60 80 100 120 140 160 10 20 30 40 50 60 70 M(t) t: temps cumule r = 1 r= 0:5 r= 0:1

2 Intensite decroissante vers

0

Ces modeles traduisent une croissance monotone de abilite durant la phase d'observation du processus de defaillance. Le premier d'entre eux est d^u a Crow [34]. Il consiste en une reinter-pretation en termes de N.H.P.P. du modele de Duane [44] dedie a la croissance de abilite du

(31)

materiel.

a. Modele de Crow-Duane (D):

la fonction moyenne est du type puissance

M(t) = t 0< ;0< 1 et la fonction intensite vaut h(t) = t 1: 0 2 4 6 8 10 0 1 2 3 4 5 M(t) t: temps cumule 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 h(t) t: temps cumule

Puis on trouve le modele de Goel et Okumoto [58] ou la croissance est cette fois exponentielle.

b. Modele exponentiel (GO)

[58]: ce N.H.P.P. est donc de ni par les fonctions valeur moyenne et intensite de defaillance suivantes

M(t) =Mf1 exp ( t)g et h(t) =Mexp ( t); t0:

Les parametres M et  designent toujours respectivement le nombre (initial) de fautes et le taux d'occurrence constant caracterisant toute defaillance.

0 50 100 150 200 5 10 15 20 25 30 M(t) t: temps cumule 0 5 10 15 20 25 30 35 40 5 10 15 20 25 30 35 h(t) t: temps cumule M = 212; = 0:2 M = 212; = 0:1

Commentaires.

1. Ce modele GO peut ^etre considere comme une version en temps continu du modele JM (ou Mus). En e et, nous pouvons ecrire l'intensite de defaillance en fonction de la variable

m\nombre espere de defaillances", sous la forme

h(m) = (M m):

Nous avons ainsi une decroissance d'amplitude constante  pour chaque accroissement unitaire dem.

Figure

Figure 1 : Chaque u i est place sur l'axe des abscisses. On ob- ob-tient alors le long de cet axe la suite reordonnee ( u (1) ; ..
Figure 2 : On trace le u-plot associe aux i points ( u 1 ;    ;u i ).

Références

Documents relatifs

[r]

Une exp´ erience par coloration a montr´ e qu’une rivi` ere souterraine alimente une r´ esurgence dans la vall´ ee. La rivi` ere souterraine a un d´ ebit tr` es sensible aux

boxcox (MASS) transformation de Box-Cox dans le cas d’un LNM bcPower (car) transformation de Box-Cox, Yeo-Johnson ou puissance lm (stats) ajuste un mod` ele de r´ egression lin´

On suppose que l’on dispose de n = 2N observations correspondant aux deux semestres de n ann´ ees.. Montrer que les estimateurs sont

En occultant ensuite cette information, ajuster un ou plusieurs mod` eles (soit de type AR/MA/ARMA/ARIMA/SARIMA, soit de type r´ egression avec tendance et/ou saisonnalit´ e

[r]

Interrogeons nous maintenant sur la fa¸con dont sont construits ces tests multidimensionnels, autrement dit sur la fa¸con dont sont obtenues les matrices E pour les erreurs du

Estimation des param` etres et de l’´ etat cach´ e des mod` eles d’espace d’´ etats: application au mod`