collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen La sûreté de fonctionnement des systèmes informatiques est aujourd hui un enjeu économique et sociétal majeur. Cet ouvrage présente la théorie mathématique de la fiabilité des logiciels et ses applications, qui permettent de prévoir l occurrence des défaillances futures d un système informatique et d évaluer sa fiabilité. Les principaux modèles du processus des défaillances et corrections d un logiciel y sont décrits en adoptant une présentation unifiée dans le cadre des processus aléatoires ponctuels. Les méthodes statistiques associées (de l inférence bayésienne au choix de modèle) sont également étudiées, ainsi que les modèles prenant en compte des covariables et l architecture d un logiciel. L objectif est d aller de l étude conceptuelle approfondie des modèles au calcul numérique des indicateurs de fiabilité à l aide d exemples. Mêlant théorie et pratique, Modélisation aléatoire en fiabilité des logiciels s adresse aux étudiants, ingénieurs, chercheurs en mathématiques appliquées et en informatique, intéressés par les méthodes probabilistes et leurs applications en fiabilité. Les auteurs Olivier Gaudoin est professeur à l Ecole nationale supérieure d informatique et de mathématiques appliquées de Grenoble (ENSIMAG) où il enseigne les probabilités et la statistique. Ses domaines de recherche sont la modélisation aléatoire et l analyse statistique pour la fiabilité des systèmes. James Ledoux est maître de conférences à l Institut national des sciences appliquées (INSA) de Rennes où il enseigne les mathématiques appliquées, et en particulier les probabilités et la statistique. Ses recherches portent sur la modélisation aléatoire. 978-2-7462-1608-2 Olivier Gaudoin James Ledoux Modélisation aléatoire en fiabilité des logiciels collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen Modélisation aléatoire en fiabilité des logiciels Olivier Gaudoin James Ledoux www.hermes-science.com Z(7ic7e6-CBGAIC(
6 Fiabilité des logiciels TABLE DES MATIÈRES Avant-propos..................................... 13 Chapitre 1. Introduction.............................. 15 1.1. Problématique de la fiabilité des logiciels................. 15 1.2. Utilisation des évaluations de fiabilité des logiciels........... 18 1.3. Terminologie................................. 18 1.4. Différences entre fiabilité des logiciels et fiabilité des matériels.... 20 1.5. Entrées, profil opérationnel et fautes.................... 21 1.6. Défaillances et corrections......................... 22 1.7. Exemple de données............................. 23 1.8. Contenu du livre............................... 26 Chapitre 2. Concepts de base........................... 29 2.1. Concepts élémentaires de fiabilité..................... 29 2.1.1. Hypothèses de base.......................... 30 2.1.2. Les fonctions fiabilité et de survie résiduelle............ 30 2.1.3. Le taux de défaillance......................... 31 2.1.4. Le MTTF................................ 35 2.2. Les lois usuelles de durées de vie..................... 36 2.2.1. La loi exponentielle.......................... 36 2.2.2. La loi de Weibull............................ 38 2.2.3. La loi gamma.............................. 39 2.2.4. La loi lognormale........................... 41 2.2.5. La loi de Pareto............................ 41 2.2.6. La loi hypoexponentielle....................... 42 2.2.7. La loi hyperexponentielle....................... 43 2.2.8. Lois avec taux de défaillance en baignoire............. 43 2.3. Autres lois usuelles en fiabilité....................... 44 2.3.1. La loi binomiale............................ 44 2.3.2. La loi de Poisson............................ 45 2.3.3. La loi normale............................. 45 2.3.4. La loi uniforme............................. 46 2.3.5. La loi puissance............................ 46 2.4. Concepts élémentaires de statistique.................... 47 2.4.1. Estimation............................... 47 2.4.2. Qualité d un estimateur........................ 48 2.4.3. Intervalles de confiance et tests d hypothèses............ 49 2.4.4. Statistiques d ordre.......................... 51 2.5. Notations et conventions.......................... 51 Chapitre 3. Modèles de défaillance auto-excités................ 53 3.1. Le processus des défaillances........................ 53 3.2. Quelques mesures de fiabilité des systèmes réparables.......... 57 3.3. Construction d un modèle de défaillance................. 59 3.3.1. La suite des instants de défaillance.................. 60 3.3.2. Le processus de comptage des défaillances............. 61 3.4. Propriétés des modèles de défaillance auto-excités............ 67 3.4.1. Notion de mémoire.......................... 67 3.4.2. Intensité cumulée ou compensateur................. 67 3.4.3. Loi des durées inter-défaillances................... 68 3.4.4. Loi des instants de défaillance.................... 71 3.4.5. Fonctions de vraisemblance...................... 73 3.4.6. Loi du nombre de défaillances survenues.............. 74 3.4.7. Expressions des principales grandeurs de fiabilité......... 75 3.5. Classification des modèles de défaillance auto-excités.......... 78 3.6. Notes et compléments............................ 79 Chapitre 4. Processus ponctuels.......................... 81 4.1. Processus de comptage et intensité stochastique............. 82 4.1.1. Histoire, mesurabilité, prévisibilité................. 82 4.1.2. Intensité stochastique......................... 84 4.1.3. Intensité d un processus de comptage relativement à son histoire interne.................................. 86 4.2. Processus de Poisson............................ 93 4.3. Simulation.................................. 99 4.3.1. Inverse généralisée........................... 99 4.3.2. Simulation par inversion....................... 100 4.3.2.1. Image d un processus de Poisson par un changement de temps 100 4.3.2.2. Simulation et taux de hasard.................. 102 4.4. Modèles conditionnellement auto-excités................. 103 4.5. Intensité à structure multiplicative..................... 105 5
Table des matières 7 8 Fiabilité des logiciels 4.5.1. Exemple introductif.......................... 105 4.5.2. Modèles de régression......................... 106 4.6. Notes et compléments............................ 108 Chapitre 5. Processus markoviens........................ 111 5.1. Processus markovien de sauts........................ 111 5.1.1. Propriété de Markov.......................... 111 5.1.2. Noyau de transition.......................... 113 5.1.3. Caractérisation des processus markoviens de sauts......... 114 5.1.4. Générateur infinitésimal et graphe de transition.......... 116 5.1.5. Irréductibilité et ergodicité...................... 119 5.1.6. Processus markovien uniformisable................. 121 5.2. Processus de comptage associés à un processus markovien de sauts.. 124 5.2.1. Intensités des processus de comptage................ 124 5.2.2. Processus de naissance pure..................... 127 5.2.3. Intégrabilité............................... 128 5.3. Le processus markovien des arrivées.................... 130 5.3.1. Définition................................ 130 5.3.2. MAP et processus de renouvellement markovien.......... 134 5.3.3. Intensité stochastique d un MAP................... 135 5.3.4. Principales formules utiles en fiabilité................ 139 5.3.4.1. Fonction fiabilité......................... 139 5.3.4.2. MTTF.............................. 140 5.3.4.3. Loi de N t............................. 141 5.3.4.4. Fonction moyenne et ROCOF................. 142 5.4. Quelques éléments sur les chaînes de Markov générales......... 144 5.5. Notes et compléments............................ 145 Chapitre 6. Propriétés générales des processus de Poisson.......... 147 6.1. Intensité de défaillance........................... 147 6.2. Processus de comptage des défaillances.................. 148 6.3. Durées inter-défaillances.......................... 151 6.4. Instants de défaillance............................ 152 6.5. Fiabilité et MTTF.............................. 154 6.6. Fonctions de vraisemblance......................... 155 6.7. Lien entre NHPP et processus de records................. 158 6.8. Quelques propriétés utiles.......................... 158 Chapitre 7. Fiabilité d un logiciel non corrigé : les processus de Poisson homogènes...................................... 163 7.1. Définition et propriétés probabilistes.................... 163 7.1.1. Processus de comptage des défaillances............... 164 7.1.2. Durées inter-défaillances....................... 164 7.1.3. Instants de défaillance......................... 165 7.1.4. Fiabilité et MTTF........................... 166 7.1.5. Fonctions de vraisemblance...................... 167 7.1.6. Quelques propriétés utiles....................... 167 7.2. Estimation des grandeurs de la fiabilité.................. 168 7.2.1. Censure de type 2........................... 168 7.2.1.1. Estimation ponctuelle de λ................... 168 7.2.1.2. Intervalles de confiance pour λ................. 172 7.2.1.3. Tests d hypothèses sur λ.................... 173 7.2.1.4. Estimation du MTTF et de la fiabilité............. 174 7.2.2. Censure de type 1........................... 176 7.2.2.1. Estimation ponctuelle de λ................... 176 7.2.2.2. Intervalles de confiance et tests d hypothèses......... 178 7.2.2.3. Estimation de la fiabilité.................... 179 7.2.3. Données groupées........................... 179 7.3. Application aux données de l exemple................... 180 7.4. Validation des logiciels........................... 181 7.4.1. Validation en présence de défaillances................ 181 7.4.2. Validation en l absence de défaillance................ 181 Chapitre 8. Modèles à durées inter-défaillances exponentielles et leurs généralisations..................................... 183 8.1. Définition et propriétés des modèles ETBF................ 183 8.1.1. Intensité de défaillance........................ 184 8.1.2. Instants de défaillance......................... 185 8.1.3. Processus de comptage des défaillances............... 186 8.1.4. Fiabilité et MTTF........................... 186 8.1.5. Fonction de vraisemblance...................... 187 8.2. Le modèle de Jelinski-Moranda...................... 187 8.2.1. Définition................................ 187 8.2.2. Propriétés probabilistes........................ 189 8.2.3. Propriétés statistiques......................... 190 8.2.4. Commentaires............................. 192 8.2.5. Premières généralisations du modèle de Jelinski-Moranda.... 192 8.3. Le modèle géométrique de Moranda.................... 193 8.3.1. Définition et propriétés probabilistes................ 193 8.3.2. Propriétés statistiques......................... 196 8.4. Les modèles de statistiques d ordre généralisées............. 198 8.4.1. Définition................................ 198 8.4.2. Propriétés probabilistes........................ 199 8.4.3. Quelques modèles GOS........................ 201 8.5. Modèles conditionnellement ETBF.................... 202
Table des matières 9 10 Fiabilité des logiciels 8.5.1. Définition................................ 202 8.5.2. Le modèle de Littlewood....................... 203 8.5.3. Le modèle de Littlewood-Verrall................... 206 8.5.4. Modélisation par chaînes de Markov cachées............ 208 8.5.4.1. Le profil opérationnel poissonnien homogène........ 208 8.5.4.2. Lois conditionnelles des taux de hasard............ 210 8.5.4.3. Le modèle de Basu et Ebrahimi................ 212 8.5.4.4. Le modèle proportionnel lognormal.............. 213 8.5.4.5. Un modèle à deux taux de correction............. 214 8.5.4.6. Un modèle de chaîne de Markov cachée........... 215 8.6. Notes et compléments............................ 216 Chapitre 9. Quelques modèles NHPP...................... 217 9.1. Construction des modèles NHPP...................... 217 9.1.1. Loi du premier instant de défaillance................ 218 9.1.2. Lien entre ROCOF et intensité.................... 218 9.1.3. Lien entre NHPP et modèles GOS.................. 219 9.2. Le processus de puissance ou modèle de Duane............. 221 9.2.1. Définition et propriétés probabilistes................ 221 9.2.1.1. Processus de comptage des défaillances............ 222 9.2.1.2. Durées inter-défaillances.................... 223 9.2.1.3. Instants de défaillance...................... 223 9.2.1.4. Fiabilité et MTTF........................ 223 9.2.1.5. Fonctions de vraisemblance.................. 224 9.2.1.6. Quelques propriétés utiles................... 224 9.2.2. Estimation des grandeurs de la fiabilité............... 226 9.2.2.1. Censure de type 2........................ 226 9.2.2.2. Censure de type 1........................ 230 9.2.2.3. Données groupées........................ 231 9.2.3. Application aux données de l exemple............... 232 9.2.4. La famille puissance généralisée................... 232 9.3. Le modèle de Goel-Okumoto........................ 233 9.4. Quelques extensions du modèle de Goel-Okumoto............ 236 9.4.1. Décomposition en modules...................... 236 9.4.2. Taux de manifestation variable.................... 236 9.4.3. Correction imparfaite......................... 239 9.5. Autres modèles NHPP............................ 240 9.5.1. Le modèle de Musa-Okumoto.................... 240 9.5.2. Le modèle NHPP de Littlewood................... 241 9.5.3. Le modèle hyperexponentiel..................... 242 9.6. Notes et compléments............................ 242 Chapitre 10. Inférence bayésienne........................ 243 10.1.Des éléments sur l inférence bayésienne................. 243 10.1.1.Principe général de l inférence bayésienne............. 243 10.1.2.Méthodes de Monte Carlo par chaînes de Markov......... 246 10.1.2.1.Echantillonneur d Hastings-Metropolis............ 248 10.1.2.2.Echantillonneur de Gibbs.................... 250 10.1.2.3.Echantillonneur de Gibbs avec complétion des données... 251 10.1.2.4.Echantillonneur de Gibbs avec une étape Hastings-Metropolis 252 10.2.Inférence bayésienne en fiabilité des logiciels.............. 253 10.2.1.Analyses bayésiennes du modèle de Jelinski-Moranda...... 254 10.2.2.Analyses bayésiennes du modèle de Littlewood-Verrall...... 255 10.2.3.Analyses bayésiennes des modèles NHPP et GOS......... 256 10.2.3.1.NHPP bornés........................... 256 10.2.3.2.Modèles GOS.......................... 258 10.2.3.3.NHPP non bornés........................ 259 10.2.3.4.Estimation et contrôle de convergence............. 260 10.2.4.Le modèle d Al-Mutairi, Chen et Singpurwalla.......... 262 Chapitre 11. Choix de modèles auto-excités................... 267 11.1.Les tests de tendance............................ 268 11.1.1.Méthodes graphiques......................... 268 11.1.2.Tests d adéquation au HPP...................... 269 11.1.3.Le test de Laplace........................... 270 11.1.3.1.Censure de type 2........................ 270 11.1.3.2.Censure de type 1........................ 272 11.1.3.3.Données groupées........................ 273 11.1.4.Le test logarithmique......................... 274 11.1.4.1.Censure de type 2........................ 274 11.1.4.2.Censure de type 1........................ 276 11.1.5.Optimalité des tests de tendance................... 276 11.2.Les tests d adéquation............................ 276 11.2.1.Problématique............................. 276 11.2.2.Méthodes graphiques......................... 277 11.2.3.Tests d adéquation pour des variables aléatoires i.i.d........ 279 11.2.3.1.Cas 1 : tests d adéquation à une loi entièrement spécifiée.. 280 11.2.3.2.Cas 2 : test d adéquation à une famille paramétrée de lois. 282 11.2.4.Tests d adéquation au PLP...................... 283 11.2.5.Tests CPIT............................... 284 11.2.6.Les tests préquentiels......................... 285 11.2.7.Tests d adéquation aux NHPP de Zhao-Wang........... 288 11.2.8.Comparaison des tests d adéquation................. 290 Chapitre 12. Modèles à covariables........................ 291 12.1.Covariables en fiabilité des logiciels.................... 291
Table des matières 11 12.2.Modèles basés sur le modèle de Cox.................... 292 12.2.1.Modèle à intensités proportionnelles................. 292 12.2.2.L individu est un sous-système d un logiciel............ 295 12.2.3.L individu est une copie d un logiciel................ 295 12.2.4.L individu est une faute........................ 296 12.3.Un modèle basé sur le modèle multiplicatif matriciel d Aalen..... 297 12.3.1.Estimateur de Nelson-Aalen..................... 298 12.3.2.Estimateur du vecteur des fonctions de régression......... 302 12.3.3.Adéquation au modèle......................... 303 Chapitre 13. Modèles basés sur l architecture du logiciel........... 307 13.1.Un modèle de la structure d un logiciel.................. 308 13.2.Quelques modèles de fiabilité........................ 310 13.2.1.Le modèle de Laprie......................... 310 13.2.2.Le modèle boîte-blanche de Littlewood............... 312 13.3.Un modèle général de processus markovien des arrivées........ 314 13.3.1.Analyse................................. 315 13.3.2.Expressions des grandeurs de fiabilité................ 318 13.3.3.Comportement asymptotique..................... 319 13.3.4.Croissance de fiabilité......................... 321 13.3.5.Estimation des paramètres...................... 322 13.3.6.Modèles en temps discret....................... 326 13.4.D autres approches............................. 328 13.4.1.Approximations de la fiabilité.................... 328 13.4.2.Simulation............................... 329 13.4.3.Méthodes basées sur le test...................... 330 13.5.Notes et compléments............................ 331 A Jean-Louis Soler Bibliographie..................................... 333 Index.......................................... 351