Académique Documents
Professionnel Documents
Culture Documents
: SE2520 V2
Quantification de la fiabilité
Date de publication :
10 octobre 2012 des logiciels
Date de dernière validation :
01 mars 2015
Mots-clés Résumé Les modèles de quantification de la fiabilité d’un logiciel sont encore très peu
fiabilité | taux de défaillance | utilisés dans l'industrie et restent même un sujet assez controversé. Cet article décrit les
exigences de fiabilité | modèles
de croissance fondements théoriques de la modélisation de la fiabilité et en explique les modes
d'utilisation. Son objectif est de montrer qu'il s'agit d'une technique statistique valide et
applicable aux logiciels. Il est également fait un bilan des pratiques industrielles actuelles
et, pour finir, sont données des pistes potentielles d'amélioration de ces pratiques dans
l'avenir.
Keywords Abstract Software reliability models are today seldom used in industry and remain a
reliability | failure rate | rather controversial topic. This article describes the theoretical bases of software
reliability requirements |
reliability growth models reliability modeling and explains how to put them into practice. Its goal is to demonstrate
that it is a statistical technique that is valid and adapted to the software. This article also
provides a review of the current industrial practices and presents potential means of
improvement for these practices in the future.
Par mail :
infos.clients@teching.com
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | tous droits réservés
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Quantification de la fiabilité
des logiciels
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
1. Problématique générale Nota : de fait, avant que ne soit institué le terme « sûreté de fonctionnement », terme
assez récent paru dans les années 1980, on utilisait l’acronyme « FMDS ».
de la fiabilité du logiciel Si l’on examine de plus près ces quatre caractéristiques, il est
facile de démontrer que les trois premières sont liées (FMD) alors
que la sécurité (S) est focalisée sur les défaillances du système
pouvant nuire aux biens ou aux personnes. En d’autres termes, on
1.1 Qu’est-ce que la fiabilité du logiciel ? peut considérer que les critères de sûreté de fonctionnement
auxquels sont sensibles les clients peuvent être ramenés à
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
La sûreté de fonctionnement d’un système est en général Il s’ensuit donc qu’il est indispensable de pouvoir exprimer
exprimée à l’aide des quatre principales caractéristiques suivantes : chacune de ces contributions dans un même référentiel permettant
de les combiner pour obtenir une valeur au niveau du système. Or
– la fiabilité (F) ; le référentiel assez communément admis depuis de nombreuses
– la maintenabilité (M) ; années pour les systèmes matériels est le taux de défaillance par
– la disponibilité (D) ; heure. C’est donc le mode de quantification de la fiabilité du
– la sécurité (S) du système. logiciel qui est le mieux adapté (ou des modes équivalents).
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
1.4 Fiabilité prévisionnelle et fiabilité – hypothèse 1 : la correction des défauts est immédiate,
c’est-à-dire qu’une défaillance due à un défaut donné n’apparaît
expérimentale qu’une seule fois ;
– hypothèse 2 : cette correction est parfaite, c’est-à-dire qu’elle
Que ce soit pour du matériel ou du logiciel, selon les phases du
ne crée pas de nouveaux défauts dans le code.
cycle de vie où sont appliquées les techniques de fiabilité, elles
sont qualifiées de prévisionnelles ou d’expérimentales. La première hypothèse est rarement vérifiée dans la réalité : les
développeurs ont l’habitude en effet de faire en séquence, et non
Les techniques prévisionnelles se situent en amont dans les
en parallèle, le test et les corrections. De ce fait, une même
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
2.1 Évolution des modèles Nota : comme le montre la figure 1, l’intensité de défaillance est la « vitesse »
d’apparition des défaillances. Elle n’a donc pas du tout la même définition que le taux de
défaillance et il faut bien prendre garde de ne pas confondre les deux notions, sauf si leur
Les premiers travaux sur la fiabilité des logiciels se sont équivalence est démontrée mathématiquement (ce qui est le cas pour les processus de
intéressés à l’évaluation du nombre de défauts présents dans le Poisson [9]).
code. Ainsi en 1972, Mills a proposé un modèle basé sur la
technique d’essaimage de défauts (introduction volontaire avant le 2.2.3 Principes de modélisation
test de défauts prédéfinis dans le code) [5]. En 1978, Nelson a éga-
lement proposé un modèle d’évaluation de la fiabilité des Une fois la forme mathématique du modèle choisie, la modélisa-
logiciels [6]. Mais ce modèle présentait l’inconvénient majeur de tion fait appel à :
ne pas tenir compte de l’amélioration de fiabilité liée à la correc- – une procédure d’inférence permettant de calibrer le modèle,
tion des défauts dans le logiciel. c’est-à-dire d’estimer ses paramètres en fonction des données
Les autres techniques utilisées pour évaluer la fiabilité des recueillies lors des essais ;
logiciels se sont alors largement inspiré des techniques employées – une procédure de prévision qui consiste à remplacer, dans
sur les composantes matérielles, tout en veillant à les adapter l’expression des caractéristiques de la fiabilité, les paramètres par
spécialement au cas particulier de l’informatique qui fait appel à leurs valeurs estimées ;
un processus de conception/correction [SE 2 500]. Cet aspect avait – un ou plusieurs critères de validation qui permettent de vérifier
déjà été traité par Duane [7], dont le modèle prenait en compte la l’adéquation des estimations obtenues aux valeurs observées et de
« croissance de fiabilité » et qui a inspiré la plupart des modèles de comparer plusieurs modèles pour choisir le « meilleur » d’entre eux.
quantification de la fiabilité du logiciel dont quelques-uns sont En d’autres termes, la modélisation consiste à utiliser des outils
décrits ci-après. mathématiques permettant de calibrer un modèle d’une forme
donnée sur le processus mis en évidence par les essais et à utiliser
la meilleure fonction ainsi déterminée.
2.2 Principaux modèles Les techniques statistiques de calcul des paramètres sont
connues sous le nom de méthodes du « maximum de vraisem-
2.2.1 Hypothèses blance », des « moindres carrés » ou des « moments ». Ces techni-
ques déterminent les paramètres qui s’ajustent le mieux aux
De très nombreux modèles de quantification de la fiabilité du données observées selon différentes distances statistiques. La
logiciel ont été proposés dans la littérature [8]. Ils s’appuient, pour méthode du maximum de vraisemblance est celle qui est la plus
la plupart, sur deux hypothèses de base ayant un fort impact fréquemment utilisée pour calculer les paramètres des modèles de
mathématique : quantification de la fiabilité du logiciel.
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Schick-Wolverton (1973)
Weibull
Wagoner (1973)
Hi (t ) = λi exp (– λi t )
hi = (N – (i – 1)) Φ
70
h(t)
60 2.2.4.2 Modèle de Musa-Okumoto
50 h(0)
(ou « modèle logarithmique »)
40 Ce modèle, proposé par ses auteurs en 1984, suppose que
µ(t) = espérance mathématique de H(t) l’intensité décroît exponentiellement avec le nombre de défail-
30
lances. Cela signifie que la correction des premiers défauts mis en
20 évidence réduit plus l’intensité de défaillance que la correction des
10 défauts suivants. Dans ce modèle, le nombre de défaillances
possibles est infini et la fiabilité est croissante (figure 2) :
0
0 200 400 600 800 1 000
H (t ) = λ 0 log (θt + 1) où λ 0 et θ > 0
Temps de fonctionnement (h)
λ0
H(t) h(t ) =
λ 0 θt + 1
µ(t)
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
3. Mise en œuvre
des modèles
Nombre de défaillances cumulées
60
Organisation Objectifs
de SdF
Cahier de bord
Jeux de test de test Corrections
Recueillir Analyser Collecte
les données a priori des données
Logiciel Rapports
à tester d'anomalies
Données exploitables
Courbes de tendance
Étudier
les tendances
Infos sur la croissance
Rapport
Courbes de modélisation Formaliser
Études les résultats
Modéliser
de fiabilité Décision
Objectifs
Modèle le mieux de SdF
adapté
Prévoir
Résultats
quantitatifs
SdF = sûreté de fonctionnement
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
sources différentes : Nota : l’emploi des modèles dits « de croissance de fiabilité » impose que l’hypothèse
de croissance ait été au préalable confirmée par l’étude des tendances.
– les données relatives à la sollicitation du logiciel lors du test
peuvent être trouvées dans les cahiers de bord ou les log de test ; Comme il n’existe pas de modèle universel, il faut choisir le
– les données relatives aux anomalies apparues lors du test sont modèle le plus adapté aux données collectées. L’expérience a
enregistrées dans des rapports d’anomalies eux-mêmes gérés par démontré qu’il suffisait pour cela d’utiliser quelques modèles
des outils de gestion dédiés. parmi les plus représentatifs. On peut ensuite procéder selon trois
Il est alors possible de les fusionner pour obtenir des « données étapes successives qui éliminent petit à petit les modèles n’offrant
groupées par intervalles de temps ». pas toutes les qualités requises.
Nota : alors que le relevé des anomalies est presque toujours réalisé systématique-
ment par les équipes de validation, il n’est pas encore rentré dans les mœurs de garder 3.1.5.2 Première étape
une trace détaillée de la manière dont le logiciel a été sollicité pendant les tests. Pourtant
cette information est fondamentale en fiabilité.
Cette étape consiste à comparer, en les superposant, les courbes
réelles et les courbes du modèle (courbes du nombre cumulé de
3.1.3 Analyser a priori défaillances en fonction du temps et, si nécessaire, courbes des
MTTF ou taux de défaillance par sous-intervalles). Les modèles
L’analyse a priori permet de détecter et d’éliminer les données présentant des courbes trop éloignées des courbes réelles ou
douteuses. ayant une forme trop différente des formes des courbes réelles
La saisie informatique des données est conseillée. Elle permet peuvent être éliminés.
d’en vérifier plus facilement la complétude et la cohérence. Elle
permet de détecter les erreurs de collecte qui entraînent l’appari- Exemple : dans la figure 4, la première étape conduit ainsi à
tion de valeurs a priori douteuses : il est alors nécessaire de supprimer les modèles de Crow, Kanoun-Laprie (hyper-exponentiel) et
retrouver les intervenants ayant participé aux saisies liées à ces Littlewood-Verrall qui n’ont pas la même forme que la courbe des
erreurs afin d’expliciter ces valeurs et, éventuellement, de les données réelles (statistique).
corriger. De plus, elle permet de vérifier l’homogénéité des
données collectées : même unité de temps (heure, jour, mois),
même ensemble de sigles, etc. 3.1.5.3 Deuxième étape
Nota : il est recommandé de commencer l’analyse des données dès que la quantité Pour choisir des modèles qui prévoient bien le comportement
de données est suffisante pour l’interprétation des premiers résultats, afin de vérifier très futur, on recalcule les paramètres des modèles à partir des
tôt la cohérence de l’information.
données de sous-ensembles croissants de l’échantillon total
Dans le cas où les données douteuses sont ponctuelles et (modélisations successives avec des données « cachées ») et l’on
noyées dans la masse, il est conseillé de ne pas y toucher car les compare avec la réalité les prévisions successives. Les modèles
modèles de quantification de la fiabilité ne sont pas sensibles à qui sont trop éloignés de la réalité ou qui convergent trop tardive-
quelques fluctuations intempestives clairsemées. ment peuvent être éliminés.
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
(Musa - Okumoto)
Erreur absolue sur le nombre de défaillances modélisées
100 à la dernière observation 70
60
80 50
75
40
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
60 30
20
40 10
0
20 0 200 400 600 800 1 000
Temps de fonctionnement (h)
0 Statistique
0 90 161 267 475 735 1 100 Modélisation complète
Temps de fonctionnement (h) Modélisations successives
Musa - Okumoto Goel - Okumoto Figure 6 – Exemple de convergence des modélisations successives
Fermer
10
3.1.5.4 Troisième étape
0
Cette dernière étape s’assure que les modèles sont bien repré- 0 200 400 600 800 1 000 1 200 1 400 1 600
sentatifs du processus modélisé, et notamment que l’on n’est pas
Temps de fonctionnement (h)
en présence d’une simple suite d’ajustements statistiques. Pour
cela, on vérifie que les paramètres estimés lors des modélisations Statistique
successives sont cohérents et convergent. Les modèles qui Modélisation complète
semblent trop incohérents peuvent être éliminés.
Nota : cette dernière étape est souvent une confirmation de choix. En effet, il est rare Figure 7 – Exemple de prévision du nombre de défaillances à venir
d’éliminer un modèle à ce stade car les deux premières étapes sélectionnent en général
des modèles qui vérifient cette dernière condition.
mieux appréhender les risques de dérapage. Les calculs de risques
se font, à l’aide du meilleur modèle choisi au préalable par l’utilisa-
Exemple : dans la figure 6, les modélisations successives de
teur, soit en conservant l’hypothèse d’évolution de fiabilité, ce qui
Musa-Okumoto convergent bien vers la modélisation finale
correspond à la simulation de la poursuite de mise au point du
(complète). La troisième étape confirme ainsi le choix du modèle de
logiciel, soit en supposant la fiabilité constante, ce qui correspond
Musa-Okumoto.
à la simulation de mise en exploitation du logiciel.
À la fin de cette étape, le modèle choisi va permettre de
quantifier la fiabilité du logiciel et faire des prévisions. Exemple : la figure 8 montre la courbe de probabilité de dépasser
le nombre de défaillances cumulé déjà obtenu de une, deux ou x
défaillances pour un temps de fonctionnement prévisionnel donné,
3.1.6 Prévoir avec une hypothèse de fiabilité constante.
Les modèles de quantification de la fiabilité des logiciels
permettent de prévoir la fiabilité en termes de nombre de Outre l’évaluation des mesures de fiabilité, les modèles offrent
défaillances à venir, d’intensité de défaillance ou de MTTF. en général la possibilité de calculer le temps nécessaire pour
atteindre un objectif. On peut, par exemple, estimer le temps de
Exemple : la figure 7 montre un exemple de prévision du nombre test encore nécessaire pour obtenir un taux de défaillance prédé-
de défaillances cumulées Y pour un temps de fonctionnement futur terminé. Ils permettent également d’estimer la probabilité de
X, réalisée à l’aide de l’atelier de calculs de fiabilité M-élopée [11]. passer avec succès des essais de réception dans la mesure où l’on
connaît la nature de la sollicitation que le logiciel subira lors de ces
Nota : © M-élopée est une marque déposée de France Télécom.
essais et qu’elle peut être déduite de la sollicitation pour laquelle
on dispose déjà d’un retour d’expérience. Ils permettent de la
En complément, les modèles permettent également de calculer même manière d’estimer le nombre moyen de défaillances qu’un
des intervalles de confiance sur les données fournies, afin de logiciel est susceptible de produire lors de sa mise en opération.
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
font les calculs, valident et testent les objectifs de fiabilité. Ils font
1
donc les études et les interprètent pour les chefs de projet ;
– les ingénieurs de test ou de maintenance, avec les utilisateurs
0,8 si nécessaire, tiennent le journal de bord, repèrent les défaillances
et leurs dates, corrigent ces défaillances, remplissent les fiches de
défaillance et de correction associées. Ils font donc les essais, la
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
0,6
collecte des données sur le terrain et ils font remonter les anoma-
lies aux deux acteurs précédents.
0,4
0,2
3.2 Données d’entrée de la modélisation
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
déterminera la nature des données soumises à l’étude : données À l’aide de ces valeurs, le chef de projet calcule qu’il lui faudra
« unitaires » ou données « groupées ». 1 mois de délai pour passer le complément de test et 15 jours sup-
Chacun de ces types de données a ses avantages et ses inconvé- plémentaires (10 jours ouvrés) pour corriger les 9 défauts prévus
nients. en faisant l’hypothèse d’une charge de correction d’un jour par
défaut en moyenne.
Les données « unitaires » sont plus coûteuses à recueillir. En
revanche, elles permettent l’utilisation du test de Laplace pour Il a prévu assez large pour le temps de passage du complément
l’étude des tendances. Statistiquement, elles produisent un de test qui n’est pas le plus grand consommateur de délai. En
revanche, chaque défaut étant en moyenne assez long à corriger,
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
0,5
X= 957,16
3.4.1 Méthode d’allocation
Valeur
effectives
Pour pouvoir faire des allocations de fiabilité des logiciels, il est
0,4 Y= 0,02 2.E-02
nécessaire de disposer d’informations précises, d’une part, sur
Fermer
l’architecture « logicielle » du système et, d’autre part, sur la
0,3 contribution de chacun des composants de ladite architecture au
fonctionnement global du système.
0,2 L’architecture « logicielle » du système doit être formalisée par un
découpage en sous-ensembles de logiciels pour chacun desquels :
– il est possible de connaître sa sollicitation (différentes phases
0,1
de fonctionnement et différents temps de fonctionnement dans ces
phases) ;
0 – il est possible de connaître son nombre d’occurrences dans le
0 100 200 300 400 500 600 système ;
Temps de fonctionnement (h) – il y a une certaine « homogénéité » du point de vue de la fiabi-
lité, par exemple il s’agit d’un « composant » logiciel développé
Statistique par une même entreprise (c’est-à-dire dans un même contexte de
Modélisation complète développement).
Pour pouvoir faire des allocations de fiabilité des logiciels, il est
Figure 9 – Calcul du temps nécessaire pour atteindre l’objectif ensuite nécessaire de disposer d’informations sur la sollicitation
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
des composants ainsi déterminés. Pour cela, il faut déterminer La procédure d’acceptation de fiabilité à mettre en œuvre est
successivement les différentes phases de fonctionnement du similaire à celle proposée par la norme CEI 62628. Elle est schéma-
système, puis les contributions de chaque composant logiciel à ces tisée à la figure 10.
phases.
La formule d’allocation d’un taux de défaillance à un composant Exemple : les méthodes d’allocation de fiabilité du logiciel préco-
est alors de la forme suivante : nisées dans ce paragraphe ont été par exemple mises en œuvre avec
succès par le CEA dans le cadre du développement du contrôle
commande du laser MégaJoules [12].
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
λ système C composant T
λ composant = Le CEA a ainsi pu élaborer des exigences de fiabilité en sortie de
∑Ci Ti qualification usine qui ont été rarement inférieures à 10–2 défaillances
par heure pour chacun des 14 contrôle-commandes principaux
où Ci facteur de complexité du composant i, identifiés. Le CEA a accompagné ses ensembliers dans la mise en
Ti temps total de fonctionnement du composant i, œuvre de son cahier des charges. Il a explicité notamment son besoin
aux ensembliers et les a aidés à soumettre des cahiers de recette de
T temps de fonctionnement du système. fiabilité acceptables.
Le temps de fonctionnement d’un composant est calculé comme Ainsi, les industriels ont eu l’obligation de réaliser des « tests de
suit : fiabilité » qui permettaient de démontrer que leur exigence de fiabilité
était tenue.
Nombre d’occurences du composant × Σ (durée de la phase
Dans la plupart des cas, une heuristique de réduction du temps de
× contribution du composant à la phase) test basée sur la notion de « cas de tests équivalents » a permis de
ne pas dépasser l’ordre de grandeur d’une cinquantaine d’heures de
Le facteur de complexité du composant est une valeur choisie test pour valider l’objectif.
empiriquement et qui, si possible, rend la fiabilité du composant
raisonnable (par exemple fiabilité mesurée par retour d’expérience
sur des composants équivalents).
3.5 Recommandations
pour la mise en œuvre des modèles
3.4.2 Formalisation de l’exigence finale
Les cahiers des charges doivent renseigner, pour chaque 3.5.1 Impossibilité de démonstration
sous-ensemble, l’exigence de fiabilité quantifiée issue des alloca- de certains taux de défaillance
tions système ainsi que la démarche à mettre en œuvre pour la
démontrer et les documents attendus en réception de fiabilité. Même abordés avec toute la rigueur voulue, les modèles de
quantification de la fiabilité héritent des limitations propres à
Plus précisément, les cahiers des charges doivent contenir au l’utilisation du retour d’expérience pour valider l’obtention d’un
minimum les informations suivantes : objectif de fiabilité, à savoir : les heures de fonctionnement à
– le rappel de l’exigence de fiabilité allouée au logiciel, sous forme cumuler dans ce retour d’expérience sont inversement proportion-
d’un taux de défaillance par heure de fonctionnement par exemple ; nelles à la valeur du taux de défaillance à estimer.
– la méthode de mesure des critères de succès des tests de fiabi- Cela signifie que, pour évaluer un taux de défaillance de 10–5 par
lité qui permettront de vérifier que l’objectif est atteint ; heure, il faut cumuler un temps d’expérience sans défaillance d’au
– la définition du profil opérationnel à reproduire lors du test de moins 100 000 heures et même 400 000 heures si l’on veut avoir
fiabilité. Il est nécessaire que le test de fiabilité soit réalisé dans un une bonne confiance dans l’évaluation. Or, 400 000 heures repré-
contexte le plus représentatif possible de l’utilisation future du sentent 45 ans à plein temps !
logiciel. Cette notion est importante dans le cas d’un logiciel puis-
Par ailleurs, les techniques d’accélération de test utilisées pour le
que sa fiabilité de service dépend fondamentalement de la
matériel ne sont pas applicables au logiciel : d’une part, on sait rare-
manière dont l’utilisateur le fait fonctionner.
ment accélérer le temps de fonctionnement, notamment quand il
Le profil opérationnel est une caractérisation quantitative de la s’agit de logiciels réactifs nécessitant l’intervention humaine
manière dont le système sera utilisé sur le terrain. Il est en général continuelle pour fonctionner et, d’autre part, 100 logiciels en paral-
obtenu par retour d’expérience et collecte de données sur des lèle sous la même sollicitation réagissent en général de la même
systèmes similaires. Il est représenté par l’ensemble des scénarios manière. En d’autres termes, pour le logiciel : 100 × 1 000 heures de
d’utilisation du système avec leurs probabilités d’occurrence. fonctionnement = 1 000 heures de fonctionnement.
Définition
Développement Calcul Objectif
du profil Test
des cas de test de la fiabilité atteint ?
opérationnel
NON OUI
Reprise du test
Acceptation
du logiciel
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
redoutées ne se produiront vraisemblablement pas dans l’environ- Force est de reconnaître que, depuis la publication du modèle de
nement de fonctionnement spécifié du système. Jelinski-Moranda en 1978 [13], les modèles de quantification de la
fiabilité du logiciel n’ont pas autant fait d’émules chez les indus-
triels qu’ils l’auraient dû. Certes, ces techniques ont été adoptées
3.5.2 Prise en compte d’un contexte complexe par un certain nombre d’entreprises prestigieuses telles que AT&T,
Lucent, IBM, Raytheon ou la NASA [14] mais c’est un bien faible
nombre lorsqu’on le compare au nombre d’entreprises produisant
3.5.2.1 Présence de plusieurs logiciels interfacés des logiciels dans le monde. Ces techniques ne font pas non plus
l’objet de normes suffisamment reconnues et diffusées, ce qui est
Tous les modèles de quantification de la fiabilité sont para- en général révélateur de leur adoption par la communauté. Il sem-
métrés (§ 2.2). Dans la plupart des cas, ces paramètres sont au blerait que les informaticiens perçoivent surtout le coût de la mise
nombre de deux ou, exceptionnellement, trois. Cela signifie que en œuvre de techniques de fiabilité sans bien en distinguer le
l’on ne dispose que de deux constantes (trois dans le meilleur des retour sur investissement. Souvent, la fiabilité est considérée
cas) pour caractériser les deux variables aléatoires concourant à la comme une caractéristique secondaire par rapport à l’apport de
fiabilité du logiciel et liées respectivement à la qualité intrinsèque fonctionnalités innovantes et le « time to market ». Et quand c’est
du code et à son environnement d’utilisation. Les modèles ne l’inverse, c’est-à-dire que la fiabilité du logiciel est primordiale, ce
peuvent donc pas supporter trop de diversité. qui est le cas notamment pour des systèmes programmés
réalisant des opérations de sécurité ou liés à la sécurité, les
D’un point de vue opératoire, il est donc indispensable de s’assu- techniques de quantification de fiabilité sont inopérantes et
rer du respect de ces règles ou, pour s’y ramener, de structurer les rejetées par les normes. On espère cependant que les efforts faits
données à modéliser en plusieurs sous-ensembles les respectant. actuellement par les industriels en termes d’amélioration de
Une fois les modélisations partielles effectuées, il est alors possible processus, qui ont pour objectif d’améliorer la qualité des produits,
de les combiner mathématiquement pour obtenir l’évaluation de ouvriront des opportunités de mise en œuvre des techniques
fiabilité du système complet dans son environnement cible. présentées dans cet article. La capacité à maîtriser la qualité de la
production de logiciel est en effet non seulement une nécessité
mais également un facteur clé pour garder un avantage
3.5.2.2 Présence de différents modes d’utilisation
du logiciel commercial compétitif. Dans ce contexte, le World Quality
Report [15], publié par Capgemini et HP, rapporte que « les respon-
sables informatiques perçoivent la qualité de leurs applications
Outre la différence entre fiabilité prévisionnelle et fiabilité expé-
comme un facteur d’efficacité et un réel différentiateur. Le vérita-
rimentale, la sûreté de fonctionnement fait aussi la distinction
ble challenge consiste à mesurer la qualité des applications de
entre fiabilité intrinsèque et fiabilité de service :
manière objective et pertinente pour optimiser leur stratégie et
– la fiabilité intrinsèque dépend de la qualité du logiciel et de mieux motiver leurs décisions ».
son processus de réalisation. Elle est le résultat du premier aléa Les plans d’amélioration des responsables informatiques
décrit dans l’introduction ; devraient donc se préoccuper non seulement de mettre en place
– la fiabilité de service dépend des conditions d’utilisation et de des processus de développement rigoureux qui permettent de
maintenance du logiciel. Elle est, entre autres, le résultat du réduire drastiquement la densité de défauts mais également de
second aléa décrit dans l’introduction. déployer les processus et outils de mesure de la croissance de
fiabilité du logiciel présentés dans cet article.
Cette distinction est importante dans le cas d’un logiciel puisque
sa fiabilité de service dépend fondamentalement de la manière
dont l’utilisateur le fait fonctionner. De nos jours, les logiciels sont 4.2 Intérêt certain du côté des donneurs
de plus en plus complexes et proposent des dizaines de fonctions d’ordre
qui ne sont en général pas toutes également employées par les
différents utilisateurs. La plupart des entreprises font, à la demande de leurs donneurs
d’ordre ou pour leur propre compte, des efforts considérables pour
La plupart du temps, le client a du mal à définir très exactement augmenter le niveau de maturité de leurs processus en s’appuyant
le profil opérationnel. De plus, les environnements d’essais ne entre autres sur les bonnes pratiques proposées par le référentiel
peuvent pas toujours être totalement représentatifs des environne- CMMI-Dev (Capability Maturity Model Integration for
ments opérationnels. Puisque l’environnement d’évaluation doit Development ) mis au point par le SEI (Software Engineering
être bien représentatif de l’environnement cible (profil d’utilisa- Institute ). Or, les mesures de fiabilité présentées dans cet article
tion), il faudra bannir notamment des évaluations utilisant les s’inscrivent parfaitement dans la mise en œuvre de métriques
résultats de tests de non régression, tests de couverture, tests aux permettant d’évaluer et prévoir les performances telles que le
bornes, etc. préconise le CMMI-Dev à partir du niveau 2 jusqu’au niveau 4.
Ces difficultés ne sont cependant pas insurmontables puisqu’en Les donneurs d’ordre s’intéressent également au CMMI-Acq
général, sous réserve que ces aspects aient été effectivement (Capability Maturity Model Integration for Acquisition ) qui leur
abordés, les experts arrivent à se mettre d’accord sur une mesure propose des bonnes pratiques pour mieux définir et maîtriser leurs
de sollicitation représentative et un profil moyen d’utilisation acquisitions de produits et services. Là encore, les méthodes
acceptable. En revanche, le pire cas est celui où ces points ne sont d’allocation d’exigences de fiabilité présentées précédemment
pas – ou sont mal – traités car ils sont absolument cruciaux pour la s’inscrivent tout à fait dans un objectif de maîtrise prédictive des
qualité des résultats à exploiter in fine. développements complexes.
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
4.3 Regain d’intérêt grâce Pour chaque stratégie, les essais ont duré 5 000 heures. La straté-
gie S1 a produit 70 défaillances, la stratégie S2 a produit 103 défaillan-
à l’automatisation des tests ces et la stratégie S3 en a produit 36.
Les travaux de modélisation de fiabilité du logiciel tendent à prou- A priori, on pourrait penser que la meilleure stratégie est la straté-
ver que les techniques usuelles de test du logiciel (basées sur des gie S2 parce qu’elle a fait apparaître un grand nombre de défaillances.
critères tels que le taux de couverture, la recherche des défauts aux Pourtant lorsque l’on évalue la fiabilité obtenue en fin de test, on
limites, etc.) ne permettent pas en général de bien évaluer la fiabilité trouve les taux de défaillance suivants : 1,2 × 10–2 ; 1,3 × 10–2 et
0,4 × 10–3 défaillance/heure respectivement pour les stratégies S1,
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
P
O
U
Quantification de la fiabilité R
des logiciels
E
Parution : octobre 2012 - Dernière validation : mars 2015 - Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
N
par Frédérique VALLEE
Agrégée de mathématiques
Docteur en statistiques S
Directeur associé de la société ALL4TEC, Massy
A
V
Sources bibliographiques
[1] EVERETT (W.), KEENE (S.) et NIKORA (A.). – par courbe d’apprentissage). IEEE Transac- [13] JELINSKI (Z.) et MORANDA (P.B.). – Software
O
[2]
Applying Software Reliability in the 1990s.
IEEE Transactions on Reliability, sept. 1998.
CARER (P.) et LECLERCQ (P.). – Maîtrise de
[8]
tions on Aerospace, AS-2 (1964).
KANOUN (K.). – Croissance de fiabilité du
reliability research. Proceedings of the Statis-
tical Methods for the Evaluation of Computer
System Performance, Academic Press
I
logiciel : caractérisation, modélisation et éva-
la fiabilité des nouveaux systèmes numéri-
ques à ERDF, application au futur système
« compteurs communicants ». Avignon
luation. Doctorat ès Sciences, Thèse LAAS,
Rapport de recherche no 89-320, sept. 1989. [14]
(1972).
LYU (M.R.). – Software reliability
R
[9] MUSA (J.), IANNINO (A.) et OKUMOTO (K.). engineering : a roadmap. Proceedings of Fu-
(2008). – Software Reliability : measurement, predic- ture Of Software Engineering, Minneapolis,
[3] KEENE (S.). – Keene development process tion, application. McGraw-Hill Book mai 2007.
SW reliability model : an early prediction Company (1990).
method. IEEE Reliability Society Newsletter,
vol. 57, no 2, mai 2011.
[10] MUSA (J.D.). – Operational profile in
software reliability engineering : more relia-
[15] HOWERY (R.) et RENDE (J.). – World quality
report. © Capgemini, Sogeti, HP (2011). P
[16] VALLÉE (F.) et VERNOS (D.). – Le test et la
[4] VALLÉE (F.) et VERNOS (D.). – Comment uti-
liser la fiabilité du logiciel comme critère
d’arrêt du test. 13e Colloque national de Fia-
ble software faster and cheaper (2nd edition).
AuthorHouse (2004). fiabilité du logiciel sont-ils antinomiques ?
12e Colloque national de Fiabilité et Mainte-
L
[11] LEBORGNE (V.). – M-élopée : un atelier de nabilité, Montpellier (2000).
[5]
bilité et Maintenabilité, Lyon (2002).
MILLS (H.D.). – On the statistical validation of
computer programs (validation statistique
calculs de fiabilité des logiciels. Revue Phoe-
bus, no 16, © M-élopée est une marque dé- [17] SCHIEFERDECKER (I.). – Model-based tes-
ting. IEEE Software, vol. 29, no 1, janv.-fév.
U
posée de France Télécom, janv. 2001.
des programmes informatiques). IBM Rep.
72-6015 (1972).
[12] FORNIER (A.), LOUSTALET (N.), NICOLOSO
(J.) et VALLÉE (F.). – Étude de la contribution [18]
2012.
LE GUEN (H.). – Validation d’un logiciel par
S
[6] NELSON (B.C.). – Software Reliability. Rep. du logiciel à la disponibilité du contrôle-com- le test statistique d’usage : de la modélisa-
TRW SS-75-05, nov. 1975. mande du Laser MégaJoules. 17e Colloque tion à la décision de livraison. Thèse Univer-
[7] DUANE (J.T.). – Learning curve approach to national de Fiabilité et Maintenabilité, La Ro- sité Rennes 1, Mention Informatique, juin
reliability monitoring (contrôle de la fiabilité chelle (2010). 2005.
Supports numériques
ENSIMAG 3e année – Fiabilité des systèmes et des logiciels – Notes de cours Lou Gullo, Raytheon : Software Reliability Growth Approach
– Olivier Gaudoin http://www.dtic.mil/ndia/2010systemengr/ThursdayTrack8_10997Gullo.pdf
http://www.ljk.imag.fr/membres/Olivier.Gaudoin/FSL.pdf
Outils logiciels
CASRE (Computer Aided Software Reliability Estimation) Tool M-élopée
http://www.openchannelsoftware.com/projects/CASRE_3.0 http://www.all4tec.net
Événements
ERTS Embedded Real Time Software and Systems Lambda Mu – Congrès de l’IMDR (Institut de maîtrise des risques)
ISSRE International Symposium on Software Reliability Engineering
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
O
U Normes et standards
IEEE 1633 2008 IEEE Recommended Practice on Software Reliabi- MIL HDBK 217 F 1995 Reliability Prediction of Electronic Equipment,
N lity (SR) Reliability Analysis Center and Rome Laboratory
Réglementation
S Il n’existe pas de règlementation relative à la fiabilité du logiciel mais plutôt
des règlementations relatives à la sécurité des systèmes programmés qui
sont hors scope du présent article.
A
Annuaire
V
Constructeurs – Fournisseurs – Distributeurs Formation « Fiabilité logicielle » de la société APSYS
O (liste non exhaustive)
ALL4TEC – Distributeur de l’outil M-élopée
http://www.apsys.eads.net
Formation « SYS 002 Sécurité des systèmes » de l’EUROSAE
http://www.eurosae.com/
I http://www.all4tec.net
Organismes – Fédérations – Associations
Laboratoires – Bureaux d’études – Écoles – Centres de
recherche (liste non exhaustive)
(liste non exhaustive)
R IMDR – Institut de Maîtrise Des Risques
http://www.imdr.fr
ENSIMAG – Grenoble IMP
http://www.ensimag.grenoble-inp.fr/
ISTIA – École d’ingénieurs de l’université d’Angers
UTE – Union technique de l’électricité http://www.istia.univ-angers.fr/
http://www.ute-fr.com/
Documentation – Formation – Séminaires
P (liste non exhaustive)
Formation « Fiabilité du logiciel » de la société ALL4TEC
L http://www.all4tec.net
U
S
tiwekacontentpdf_se2520 v2 Ce document a ete delivre pour le compte de 7200031704 - institut algerien du petrole // belkacem BRAHMI // 41.106.3.84
GAGNEZ DU TEMPS ET SÉCURISEZ VOS PROJETS
EN UTILISANT UNE SOURCE ACTUALISÉE ET FIABLE
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com
LES AVANTAGES ET SERVICES
compris dans les offres Techniques de l’Ingénieur
ACCÈS
SERVICES ET OUTILS PRATIQUES
Archives Impression à la demande Alertes actualisations
Technologies anciennes et versions Commandez les éditions papier Recevez par email toutes les nouveautés
antérieures des articles de vos ressources documentaires de vos ressources documentaires
*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com