• Aucun résultat trouvé

1. Tous les modeles N.H.P.P. presentes (excepte le N.H.P.P. hyperexponentiel) supposent que toutes les fautes sont detectees et eliminees en un temps ni et que le taux de defaillance tend vers 0 lorsque le temps d'observation cro^t. Cependant ce taux estime a 0 n'implique pas qu'il n'y ait plus de fautes dans le logiciel. En e et, ceci peut ^etre simplement interprete comme exprimant la limite des tests appliques au programme. Ces tests ne sont donc plus ecaces pour l'actuel pro l d'utilisation du logiciel [69].

2. Un modele N.H.P.P. peut para^tre inapproprie pour decrire une croissance de abilite [93]. Nous savons que ce sont les corrections qui modi ent la abilite et qu'elles apparaissent a un nombre ni d'instants. Ainsi la veritable intensite de defaillance change probablement de maniere

discontinue

lors de ces corrections, tandis que le ROCOF d'un N.H.P.P. varie de maniere continue. Cependant Miller dans [103] ou Langberg dans [85] suggerent que les modeles DET/EOS ou DS/IIDOS (donc binomiaux) peuvent ^etre transformes en des modeles N.H.P.P., en considerant le nombre initial N de fautes comme une variable aleatoire de distribution de Poisson et non plus comme une constante. Si N suit une loi de Poisson de moyenne m, le modele JM est ainsi transforme en un processus N.H.P.P. de fonction intensite

h(t) =mexp( t); t0:

On reconnait ici le modele GO. On peut etablir de m^eme une variante N.H.P.P. du modele L de Littlewood qui admet la fonction intensite

h(t) = ( m +t) +1:

De plus Miller demontre que le modele a statistiques d'ordre et sa variante N.H.P.P. sont indistingables sur la base d'une seule realisation du processus de defaillance. Cependant les fonctions de vraisemblance utilisees sont di erentes et par consequent les estimations des parametres le sont egalement. Alors les predictions ne concident pas et en tant que

systeme de prediction

ces modeles sont distincts.

3. L'utilisation de plus en plus importante des modeles de type N.H.P.P. repose sur leur grande exibilite. En e et, on ne fait aucune hypothese sur les relations entre les taux de defaillance successifs, le numero de la defaillance n'intervient pas et aucune relation n'est supposee entre les processus de defaillance, de relance et de correction. Cette derniere pro- priete permet de considerer qu'un evenement est soit une defaillance suivie d'une relance, soit une defaillance suivie d'une correction, soit l'introduction d'une nouvelle version [69].

3.1.9 D'autres modeles.

Trois autres types de modeles sont apparus depuis les annees 85. Le premier est issu des modeles EOS [103]. En e et, Miller demontre que les modeles DET/EOS et DS/IIDOS (et plus gene- ralement les modeles EOS) sont caracterises par leur fonction valeur moyenne ou de maniere

equivalente par leur fonction intensite. Ces fonctions se referent a la valeur moyenne M(t) et a la fonction intensite du processus de comptage de defaillances (Nt)t0 du logiciel. Miller montre alors, toujours dans [103], que dans un environnement operationnel stable, avec une correction immediate et parfaite des fautes, les fonctions intensite issues des modele EOS forment exacte- ment la famille des fonctions completement monotones, i.e des fonctions admettant des derivees de tout ordre satisfaisant

( 1)nddtnhn(t)0; t0;n2IN:

Cette classe de fonctions fournit la base d'une approche non parametrique pour estimer l'inten- site courante de defaillance [103],[104] et realiser des predictions de la croissance de abilite a plus long terme dans [106]. L'objectif de cette methode est de determiner une fonction intensite completement monotone qui s'ajuste le mieux possible aux donnees. Ainsi il est propose dans [106], d'obtenir tout d'abord une premiere estimation de la fonction a partir des donnees, puis de la lisser via son ajustement au sens des moindres carres par une fonction completement mo- notone. On est alors amene a des problemes de regression sous contraintes [105]. Les predictions sont ensuite realisees par extrapolation de la fonction d'ajustement. Une etude comparative des performances de cette methode avec celles d'un certain nombre de modeles N.H.P.P., basee sur une simulation de donnees, permet de conclure dans la plupart des cas, a un meilleur compor- tement predictif de cette nouvelle classe de systemes de prediction. Une approche similaire a ete choisie dans [24] mais en utilisant d'autres criteres d'optimisation. En n, on peut souligner que pour presque tous les modeles ou la fonction intensite peut ^etre de nie, celle-ci est une fonction completement monotone. Ce qui met d'autant plus en evidence la generalite d'une telle approche.

De maniere generale, la qualite des predictions realisees avec tous les modeles de la Section 3 est soumise a la stabilite du pro l operationnel du logiciel. Nous verrons dans la Section 4 com- ment une analyse preliminaire des donnees peut identi er des changements du mode d'utilisation du programme. Une alternative consiste a introduire directement dans le modele probabiliste, des variables \explicatives" decrivant les e ets, sur la abilite, de nombreux facteurs externes ou internes au logiciel. C'est le propos des modeles a taux de hasard proportionnels P.H.M. (ou a intensite proportionnelle P.I.M.) [37],[18],[141] dont la presentation ci-dessous est issue de [141]. Ces modeles P.H.M. peuvent ^etre decrits comme des modeles de regression lineaire multiple [32]. Rappelons la terminologie statistique associee a ce type de modele.

Supposons que l'on dispose d'un echantillon d'\individus" tires d'une certaine population (nous verrons plus loin ce que le terme individu peut recouvrir dans le cadre de la abilite du logiciel). Chaque membre fournit un ensemble de donnees sous la forme des valeurs d'un ensemble ni d'attributs (ou caracteristiques) communs a tous les individus. On selectionne un (ou un sous ensemble) de ces attributs qui est appele la variable dependante ou reponse. En general, il s'agit d'une caracteristique non observable anterieurement a la manifestation de toutes les autres et dont

. la valeur est supposee in uencee par la combinaison des variables restantes

. on souhaite predire les valeurs pour certains individus a partir de l'observation des autres variables.

Les autres variables sont collectivement nommees des variables independantes, covariees ou en- core explicatives. Un modele de regression a pour but de fournir, pour un individu, la distribution de la variable reponse (ou au moins ses deux premiers moments) gr^ace aux valeurs des variables independantes. Ici les variables covariees entrent dans cette distribution uniquement via une somme ponderee de leur valeurs, ou le vecteur poidswest suppose constant (regression lineaire) pour \tous" les individus. Ce vecteur joue donc le r^ole de parametres a estimer a partir des donnees.

Dans le contexte de la abilite du logiciel, la variable reponse represente le temps d'inter- defaillance t. On peut alors distinguer trois grandes notions distinctes d'individu pour la termi- nologie statistique, induisant trois types d'applications des modeles P.H.M. :

 l'individu represente un produit logiciel :

but : developper un modele qui aide a expliquer des variations de abilite entre produits logiciels, gr^ace a des caracteristiques mesurables (attributs) issues aussi bien d'une classi - cation usuelle des programmes selon le langage utilise, le type d'applications visees, que de metriques de structures internes (taille, complexite) ou que de metriques liees au processus de developpement du produit (outils et ressources utilises).

 l'individu represente une faute :

but : analyse du processus de defaillance au moyen de caracteristiques des fautes telles que l'etape de l'execution ou elles se produisent, leur type, la gravite et le co^ut des defaillances generees.

 l'individu represente une copie d'un m^eme produit ou plus precisement un pro l opera- tionnel d'un logiciel.

but : mesurer l'e et sur la abilite d'un programmme, des variations de ce pro l dues a l'utilisation de copies sur di erents sites.

Le modele analytique correspondant au P.H.M., consiste a decrire la distribution de la variable scalaire reponse tvia son taux de defaillance. Ce taux satisfait la relation

(t) =0(t)exp(e :w) = 0(t) exp fw 1e1+ +wpepg;

oueest le vecteur (colonne) des valeurs des variables explicatives,west le vecteur des parametres de la regression et 0(t) est la fonction \taux de hasard de base" commune a tous les individus. On constate que les variables explicatives sont supposees avoir un e et proportionnel sur la abilite d'ou le nom de ces modeles. On remarque egalement la separation entre l'estimation de la fonction0(t) (qui peut ^etre realisee gr^ace aux modeles parametriques classiques) et celle des parametres de regression w.

Les modeles a variables explicatives sont soumis a des conditions de regularite et de stabilite de la population etudiee. En e et se pose le probleme de la robustesse dans le temps et pour un individu ne faisant plus partie de l'echantillon, des liens mis en evidence entre la abilite et les valeurs des variables explicatives. Ainsi, intuitivement, la troisieme situation ou l'individu repre- sente un pro l operationnel semble la plus stable et promise a des succes pratiques [141],[128]. En e et, la premiere application est soumise a une tres grande heterogeneite des produits logiciels developpes et dans la seconde, on est amene a decrire la future abilite sur la base de valeurs

explicatives inconnues issues de la population de taille egalement inconnue des fautes non encore detectees. En n, en dehors du choix des variables independantes et de la modelisation de leurs e ets sur la abilite, se pose le delicat probleme des donnees a collecter pour valider ce type de modeles.

Le r^ole de la distribution du pro l d'execution dans la modelisation de la abilite du logiciel a egalement ete mis en valeur par Downs [41]. En particulier, il montre le lien etroit existant entre le modele JM et une selection (aleatoire) uniforme des donnees test. L'approche utilisee par Downs [41],[42],[43] se demarque de toutes celles decrites jusqu'ici car elle consiste a modeliser le processus de test. La strategie sous-jacente est celle des tests des chemins du programme (ou \path-testing",voir [118]). L'hypothese essentielle est que chaque faute a ecte le m^eme nombre xe [41],[42] (resp. aleatoire [43]) de chemins. Par ailleurs, la base theorique de ses travaux repose sur la constante du taux de defaillance du logiciel durant un intervalle entre deux defaillances (ou encore les distributions d'inter-defaillance sont exponentielles). Ceci exprime le fait que le pro l d'execution du logiciel ne varie pas dans ces intervalles. Une exception a cette regle est apportee par son modele a taux de hasard lineaire par morceaux entre deux corrections. Ce modele est obtenu par une analyse uniquement qualitative du processus de test. Ainsi apres i

corrections la fonction taux admet la forme suivante

t E=i C=i D=i i Ai Bi

oui est un taux constant estime par un de ses modeles \exponentiels", A;B;C;D;E sont des

parametres a determiner (voir [43]) satisfaisantsA >1, 0< B <1, etC < D < E. On remarque que le taux est suppose constant au bout d'un certain temps d'execution. Une etude comparative avec notamment des variantes du modele LV est realisee dans [42] et [43].

3.2 Modeles statiques

3.2.1 Modeles bases sur l'analyse du domaine des entrees du programme

En general, tous les modeles de croissance de abilite precedents ne sont que moderement precis dans leur prediction. Il semble acquis [81],[12],[93] qu'ils ne sont pas applicables a des logiciels s'executant sans defaillance durant de longues periodes. En e et, ceci induit une faible collecte de donnees qui a des consequences negatives sur les estimations des parametres (par M.V. voir [99],[110],[47]). De plus ces modeles sont simpli cateurs et ne constituent que des approxima- tions du comportement du processus de defaillance. Ils ignorent de nombreux facteurs, souvent

diciles a quanti er, intervenant dans la croissance de abilite. En n, la validite de leurs hypo- theses s'accro^t avec la taille du programme. Ils sont donc inadaptes pour des logiciels utilises dans des applications critiques ou de tres hauts niveaux de abilite sont exiges, ou pour des applications temps reel ou les programmes sont de taille moyenne (quelques milliers de lignes de langage de haut niveau).

Dans un tel contexte, la plupart des modeles considerent une execution du programme comme grain d'observation du processus de defaillance et utilisent une distribution du pro l operationnel du logiciel pour ponderer le poids relatif a chaque entree. La abilite est alors exprimee par la probabilite que le logiciel delivre une sortie valide a partir d'une entree donnee. Cette fonction ne fait donc pas intervenir explicitement le temps dans le calcul de ses valeurs. Elle reste constante mais les estimations de ses valeurs changent avec l'apport d'informations supplementaires. Ceci est en contraste avec les modeles dynamiques pour lesquels c'est la fonction abilite qui change. La variable aleatoire d'inter^et sera donc la distribution des donnees operationnelles. L'ap- proche de base pour ce type de modele est de generer un ensemble de cas test selon cette loi. Cependant la grande diculte d'obtention de la valeur de cette distribution sur chaque entree, conduit a partager le domaineE des donnees en classes d'equivalences. Une estimation de la a- bilite est alors donnee gr^ace aux resultats d'executions de cas tests selectionnes dans l'ensemble de ces classes.

Documents relatifs