SAOUDI.L Fiabilité logicielle 2007/2008
Page 28
FIABILITE DU LOGICIEL
C’est la probabilité de faire une opération sans panne sur une durée fixée et pour un contexte donné. La fiabilité est subjective : elle dépend de l’utilisateur et du contexte d’utilisation. Elle donne une mesure du degré de confiance et elle mesure les conséquences d’une faute.
1.DEFAUT ET FAUTE :Un défaut est due à la présence d’une faute. Il a une caractéristique essentiellement dynamique. Une faute est une caractéristique statique du logiciel qui provoque un défaut à l’exécution. Exemple : pour un log. de saisie, une faute serait de ne pas vérifier la mauvaise saisie. Un défaut serait que le logiciel plante suite à la mauvaise saisie.
DONC , les fautes ne mènent pas nécessairement vers des défauts , de plus les fautes qui influence la fiabilité du logiciel n’affectent pas les utilisateurs de la même façon.
2. AMELIORATION DE LA FIABILITE : Est-ce que la fiabilité est la fonction de la correction de faute logicielle ?
Non !!! Mais il faut quand même corriger les fautes, surtout les fautes graves.
Paradoxe : « Plus on augmente la fiabilité, plus on réduit l’efficacité ». Pour assurer la fiabilité, on fait des test, on rajoute du code (redondance, vérification…). Ceci entraîne le fait que le logiciel sera plus lourd, plus lent donc moins efficace. En général, on privilégie la fiabilité car l’efficacité devient de moins en moins nécessaire vu les prix des machines actuelles. Cela est plus facile à améliorer.
3. METRIQUE DE LA FIABILITE
3.1 Probabilité d’une panne : probabilité de défaillance sur demande POFOD :C’est la probabilité que le système se comporte de manière non prévue (non souhaitée) lorsqu’une requête est effectuée.
Exemple :: P.F.=0,001 sur 1000 requête, on a une proba. d’1 défaut.
Cette métrique est utilisée dans les systèmes critiques (de contrôle) en fonctionnement constant.
3.2Taux de panne : intensité de défaillance ROCOF : C’est la fréquence d’apparition d’un défaut.
Exemple : Cette métrique est utilisée dans les Systèmes d’exploitation ou transactionnels…
T.F.=0.02 sur 100 unités de temps, on a 2 défauts.
3.3Temps moyen entre deux pannes : MTTF :C’est la mesure de temps entre deux apparitions de défauts.
Exemple : Cette métrique est utilisée dans les Systèmes CAD et les systèmes embraqués
T.M.P.=500 le temps moyen entre deux défauts est de 500 unité de temps.
3.4 Disponibilité : Avail :C’est la probabilité que le système soit opérationnel. Elle prend en compte le temps de réparation éventuel.
Exemple : Cette métrique est utilisée dans les Systèmes en fonctionnement constant : gestion des appels ; routage des connexions ou transactions
Dispo = 0,998 sur 1000 unités de temps, le système est disponible et utilisable pendant 998 unités de temps.
SAOUDI.L Fiabilité logicielle 2007/2008
Page 29
Nous pouvons effectuer trois types de mesure pour établir les métriques :
- Le nombre de défaillances de systèmes pour un ensemble de données d’entrée : sert à établir la métrique POFOD
- Le temps ou nombre de transactions entre défaillances : sert à établir la métrique ROCOF et MTTF
- Pour un système en fonctionnement continu, le temps de réparation ou redémarrage après une défaillance : sert à établir la métrique AVAIL
On augmente la fiabilité du logiciel en optimisant l’ensemble ou le sous ensemble des métriques applicables
Spécification de la fiabilité : pour la plupart de systèmes concrets, le degré de fiabilité varie d’un sous système à un autre, donc il est préférable de spécifier le degré de fiabilité en fonction des sous système du logiciel.
Pour simplifier le travail en divisons les défaillance à éviter en terme de classes CLASSIFICATION DE DEFAUT
Classe de panne Description
Transitoire Ne se produit qu’avec certaines entrées.
Permanente Se produit avec toutes les entrées.
Réparable Ne nécessite pas d’intervention humaine.
Irréparable Nécessite une intervention de l’opérateur.
Non corruptrice Ne détruit, ni corrompt les données.
Corruptrice Corrompt les données. ( INACCEPTABLE !!! ) Exemple : Un système de guichets automatiques en réseau
Chaque machine est utilisée 300 fois par jour- une banque possède 1000 machines- le système logiciel est mise à jour tous les 2 ans, chaque distributeur traite environ 10 000 transactions par jour :
Classe du défaut Exemple Métrique
Permanente et non corruptrice
La machine refuse d’accepter toutes cartes guichet : la machine doit être redémarrée.
ROCOF : 1 par 1000 jours
Transitoire et non corruptrice
Les données sur la bande magnétique ne peuvent être lue sur certaines cartes (non endommagées)
POFOD :1 sur 1000 transactions
Transitoire et corruptrice
Combinaison d’actions :Transaction et manutention Inqualifiable (ne devrait jamais arriver).
D’un point de vue pragmatique, la fiabilité d’un logiciel passe nécessairement par l’élimination des fautes, trois stratégies sont généralement utilisées :
Evitement des fautes : éliminer dans la mesure du possible les erreurs de spécification, de conception et de programmation.
Tolérance des fautes : Nous pouvons réaliser un logiciel qui est apte à tolérer les fautes : une gestion des exceptions
SAOUDI.L Fiabilité logicielle 2007/2008
Page 30
Détection des fautes : validation du logiciel par des tests Comment valider la fiabilité du système ?
- Par simulation : très couteux et surtout très long - Par test statistique