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 2 mars
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 3 mars
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.
Lieu de l’événement :
ACCET Cergy Prefecture
4 place de la Pergola,
95000 Cergy
(Proche RER A)
Transport en commun :
RER A Cergy Prefecture + 100m à pied (près des escaliers roulants)
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.