Logo de la rubrique Fiabilisation du code

Fiabilisation du code "C" : des outils et des méthodes afin de détecter les défauts de conception au plus tôt.

Pour connaitre les prochaines sessions de formation en Logiciel embarqué et programmation cliquez ici.


Les défauts logiciels (bugs) lorsqu’ils arrivent lors de la phase de production, ou pire chez un client sont préjudiciables pour l’entreprise car ils ont un impact sur le métier, et / ou sur l’image perçue de l’entreprise par le client. Ils sont souvent mal identifiés par le client (utilisateurs non techniques) et ils peuvent faire apparaître des problèmes de sécurité dans le logiciel.. S’ils arrivent tard dans le cycle en V, le fait de livrer à nouveau un logiciel corrigé oblige à re-parcourir toutes les phases montantes de validation. Enfin s’ils arrivent en production, il y a de grandes chances que ces défauts soient "intermittents" avec faible occurrence et seront très ardus à reproduire en environnement maîtrisés.

Pour toutes ces raisons, plus ces défauts sont trouvés tôt dans la chaîne de conception logicielle, moins leur correction coûtera cher et plus l’impact métier sera minime.

L’objet de cette formation, est de présenter un ensemble d’outils d’analyse de code source, permettant de capturer un maximum d’erreurs de conception, pour certains avant même la compilation proprement dite.

Programme :

6 juin 2017
- Introduction : Exemples de scénarios types introduisant la problématique d’un code de qualité, testé et documenté.
- Norme de codage : Principe et exemples, Linux coding style, MISRA, google coding style.
- Détection automatique d’erreur : Les outils statiques, les warnings du compilateur, splint, cppcheck
- Les outils dynamiques : Principe et mise en œuvre des outils, Valgrind
- Documentation du code
- Travaux pratique sur machine virtuelle

  • Analyse de code existant avec cppcheck
  • Exercices sur les warnings

7 juin 2017
- Outils de gestion de configuration : Principes et exemples : CVS, SVN, GiT
- Les tests : Principe, Test de non-régression, Automatisation des tests, testabilité.
- Gestion de tickets de modification / défauts : Principes, Bugzilla, Trac
- Interaction entre TRAC et SVN pour la revue de code.
- Travaux pratiques :

  • Utilisation SVN basique
  • Navigation dans le code source avec SVN et TRAC
  • Valgrind
  • Rendre une application testable

Public visé (pré-requis) :

PMEs, start-up ou bureaux d’études du secteur électronique au sens large qui envisagent de développer un logiciel pour système embarqué ou qui souhaitent se perfectionner. Une connaissance d’un langage informatique (assembleur, VB Automate programmable) est nécessaire pour une partie du cours.

Les inscriptions sont closes. Pour connaitre les prochaines sessions de formation en Logiciel embarqué et programmation cliquez ici.