AMDE du logiciel
- Analyse des Modes de Défaillance et de leurs Effets -
OBJECTIFS DE LA METHODE 
Lors de la mise en œuvre de systèmes dont certaines fonctions critiques (en terme de FMDS) sont portées par du logiciel, cette méthode permet au Maître d'Ouvrage et au Maître d'Oeuvre d'identifier les défaillances du logiciel pouvant aboutir aux "Événements Redoutés" du système, mais aussi d'évaluer l'architecture du logiciel vis-à-vis de la Sûreté de Fonctionnement et de la tolérance aux fautes.
Elle permet également à l’Évaluateur/Certificateur d’identifier, de façon indépendante, les risques résiduels des fonctions logicielles susceptibles d’aboutir à l’occurrence d’Événements Redoutés sur le système.
Les AMDE du logiciel s'appuient sur une analyse fonctionnelle formalisée établie à partir d'éléments tels que :
- la Spécification Technique des Besoins du Logiciel (STBL),
- le Document d'Architecture Logiciel (DAL) ou Document de Conception Préliminaire (DCP),
- le Document de Conception Détaillée (DCD),
- le Code du logiciel
Le comportement fonctionnel est déterminé à partir du code source à l'aide des outils APRLS® et AGFL® de SURLOG qui fournissent l'architecture du logiciel jusqu'aux chemins fonctionnels des composants logiciels.
DEMARCHE 

RESULTATS 
L'AMDE effectuée aboutit à :
- l'identification des fonctionnements anormaux du logiciel suite aux modes de défaillance potentiels et l'identification des risques d'événements redoutés sur le système,
- l'identification des fonctions et des composants d'importance majeure pour la sûreté. Ce type de résultat permet de cibler l'effort de test et de vérification sur ces fonctions et composants les plus critiques,
- l'obtention des scénarios de tests pour le contrôle de la sûreté et de la robustesse du logiciel. Ce type de résultat permet de définir des scénarios de tests complémentaires spécifiquement orientés vers le contrôle des exigences de sûreté,
- l’évaluation de l'aptitude de l'architecture du logiciel vis-à-vis de la sécurité et de la tolérance aux fautes. Ce type de résultat permet de valider l'architecture du logiciel et, si nécessaire, d'identifier les besoins d'évolutions de cette architecture pour améliorer la robustesse du logiciel.

