Logo de la rubrique ATELIER : Fiabilisation du code C - Des outils et des méthodes afin de détecter les défauts de conception au plus tôt

ATELIER : 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 sur Logiciel embarque 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 environnements 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.

Objectif :

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 :

9h-18h : Jeudi 14 juin

- 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. 

- Outils de gestion de configuration : Principes et exemples : CVS,SVN, GiT 

- Gestion de tickets de modification / défauts : Principes, Bugzilla, Trac 
 30
- Interaction entre TRAC et SVN pour la revue de code. 

- Les tests : Principe, Test de non-régression, Automatisation des tests, testabilité. 

- Documentation du code

9h-18h : Vendredi 15 juin

- Détection automatique d’erreur : Les outils statiques, les warnings du compilateur une aide précieuse,
splint, cppcheck, Vera++
- Les outils dynamiques : Principe et mise en Tmuvre des outils, Valgrind
- Les outils propriétaires : Principe et mise en Tmuvre des outils Purify & Sonar 

- Travaux pratiques : 
 40

  • Utilisation SVN basique
  • Navigation dans le code source avec SVN et TRAC
  • CppCheck
  • Valgrind

- Réalisation de tests automatiques de non régression 45
Mise en oeuvre avec Unity et CMock.

Public visé et prérequis minimum :

PME, startups ou bureaux d’études du secteur électronique au sens large qui envisagent de développer une application smartphone/tablette ou qui souhaitent se perfectionner. Une connaissance du langage C est nécessaire pour une partie du cours.

IMPORTANT : Les participants devront arriver avec leurs ordinateurs munis du logiciel Virtualbox et de 9 Go d’espace disque disponible.

Les inscriptions sont closes. Pour connaitre les prochaines sessions de formation sur Logiciel embarque et programmation cliquez ici.