Méthode AEEL :
les caractéristiques de cette analyse des risques
appliquée au logiciel

AEEL est l’acronyme de « Analyse des Erreurs et leurs Effets sur le Logiciel ». Cette analyse est une transposition dans le domaine informatique du process AMDEC (Analyse des Modes de Défaillances, de leurs Effets et de leur Criticité) qui a fait ses preuves dans différents secteurs industriels : automobile, aéronautique, nucléaire, armement…

Utilisée dans une démarche qualité, la méthode AEEL permet de détecter à un stade précoce du processus de développement les erreurs potentielles et leurs effets sur le logiciel et le système pour les prendre en compte dans le cycle de développement afin de renforcer la robustesse du logiciel. Une analyse efficace pour tous les logiciels critiques afin de prévenir et éviter la survenue de problèmes ultérieurs qui pourraient présenter un risque pour la sécurité.

Les objectifs de l’AEEL

Appliquée au logiciel, cette méthode d’analyse préventive des risques et de ses conséquences vise à :

  • Identifier les points critiques pendant les phases de développement.
  • Proposer aux concepteurs des pistes d’amélioration pour limiter les défaillances et optimiser la qualité, la sécurité et la maintenabilité du logiciel final.
  • Présenter un bilan de la criticité des différents modules du logiciel aux chargés des tests de validation pour leur permettre d’affiner leur démarche.

Les étapes de l’Analyse des Effets des Erreurs du Logiciel

Généralement, une Analyse des Effets des Erreurs du logiciel est menée dès la phase de conception préliminaire du logiciel. Ainsi, les équipes de développement peuvent prendre en compte les suggestions de modifications au plus tôt, notamment sur des sujets d’architecture ou fonctionnels ayant un impact important sur le logiciel global.

Intervenir au début du cycle de développement pour mener les actions correctives nécessaires est par ailleurs une bonne approche pour :

  • Optimiser les coûts.
  • Gagner du temps sur le processus de développement.

Cette analyse se déroule en plusieurs phases. Il faut :

  • Déterminer le niveau de profondeur de l’analyse, qui peut se faire au niveau des composants, ou jusqu’à chaque instruction de code.
  • Déterminer le type d’erreurs possibles (erreur d’algorithme, d’interface, corruption…) et définir une échelle de gravité.
  • Identifier les erreurs possibles pour chaque composant.
  • Examiner l’impact (les effets) de chaque erreur envisagée au niveau local (sur le module) et global (sur le système).
  • Attribuer à chaque effet un niveau de gravité selon l’échelle définie préalablement.
  • Identifier les moyens de protection existants s’il en existe.
  • Faire des recommandations (d’architecture, de conception, de codage, de test ou validation…) à prendre en compte par l’équipe de développement ou test afin de détecter, éliminer ou éviter les erreurs identifiées.

Les résultats observés sont récapitulés sous forme de tableau bilan.