Fiabilité du logiciel
L’évaluation de la fiabilité des logiciels doit démontrer une exigence quantifiée de MTTF (Mean Time To Failure) ou de taux de défaillance. Elle ne s’applique qu’au cas des logiciels peu critiques et est beaucoup plus simple à mettre en œuvre que la vérification et validation de la sûreté de fonctionnement puisqu’elle s’appuie sur une simple vérification expérimentale que le logiciel atteint bien le niveau de fiabilité qui lui a été alloué.
Pour ce faire, il faut procéder à un relevé du comportement du logiciel pendant un temps de fonctionnement suffisant pour démontrer que l’objectif est tenu. Ce temps dépend non seulement de l’objectif initial fixé, mais également du nombre de défaillances que va présenter le logiciel évalué. Moins le logiciel est fiable au départ, plus le temps de validation pour atteindre l’objectif est long.
Comme les défauts mis en évidence lors du test sont corrigés, il faut employer un modèle dit « de croissance de fiabilité du logiciel » qui prend en compte cette caractéristique et permet de ne pas pénaliser une mesure qui serait basée sur un taux de défaillance constant.
Les modèles de croissance de fiabilité du logiciel proposés dans la littérature font principalement deux hypothèses :
- 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 qu'une seule fois.
- Hypothèse 2 : Cette correction est parfaite, c'est-à-dire qu'elle ne crée pas de nouveaux défauts dans le code.
Lors de l’utilisation de modèles de croissance de fiabilité, il faut tenir compte de ces deux hypothèses. Une autre précaution à prendre, est de s’assurer que la sollicitation à laquelle le logiciel est soumis pendant la vérification expérimentale, est bien représentative d’une sollicitation opérationnelle. En effet, la fiabilité d’un logiciel dépend fortement de l’environnement dans lequel il est sollicité, et comme il s’agit ici de mesure une fiabilité opérationnelle, l’environnement de test doit être le plus proche possible du « profil d’usage » du logiciel.
Pour conclure sur ce point, rappelons que, même abordés avec toute la rigueur voulue, les modèles de fiabilité héritent des limitations propres à l'utilisation du retour d'expérience pour valider l'obtention d'un objectif de fiabilité, à savoir : les heures de fonctionnement à cumuler dans ce retour d'expérience sont inversement proportionnelles à la valeur du taux de défaillance à estimer.
Cela signifie que pour évaluer un taux de défaillance de 10-5 par heure, il faut cumuler un temps d'expérience sans défaillance d'au moins 100.000 heures et même 400.000 heures si l'on veut avoir une bonne confiance dans l'évaluation. Or 400.000 heures représentent 45 ans à plein temps !