Diplômes intégrant cet élément pédagogique :
Descriptif
Dans de nombreux secteurs (transports, énergie, santé,…), concevoir le plus efficacement et sûrement possible des logiciels de qualité représente un enjeu économique ou sociétal majeur. L'objectif de cette option est de familiariser les étudiants à quelques "bonnes pratiques" liées à certains des critères de qualité de la conception logicielle : solutions pour la maintenabilité et la réutilisabilité du code, méthodes de détection de défauts et erreurs, analyse de vulnérabilité, analyse de performances, et également évaluation de la qualité des tests.
Pré-requis recommandés
Aisance à la programmation en C sous Unix.
Compétences visées
Savoir organiser un code de façon modulaire, lisible, documentée, évolutive et réutilisable.
Maîtriser les concepts de compilation séparée et de création/utilisation de bibliothèques, et savoir utiliser les outils associés.
Savoir concevoir et exécuter des tests et évaluer leur qualité (couverture).
Maîtriser la détection de divers types de défauts et erreurs de conception ou de programmation, par des méthodes de type exécution symbolique, analyse dynamique de la gestion mémoire.
Comprendre le concept d’analyse de vulnérabilité et utiliser des tests adaptés. Comprendre les concepts liés à l’analyse de performances (efficacité du code lui-même, impact de l’architecture matérielle l’exécutant) et savoir exploiter les outils permettant cette analyse.
Logiciels utilisés = Les travaux pratiques sont réalisés en C sous Linux, et utilisent gcc, make, doxygen, CuTest, gcov et lgov, Klee, Valgrind, AFL, gprof, perf.
Informations complémentaires
Méthode d'enseignement : En présenceLieu(x) : Grenoble
Langue(s) : Français
En bref
Période : Semestre 6Crédits : 3
Volume horaire
- CM : 15h
- TD : 15h
Contact(s)
Laurence Pierre
Etudiants internationaux
Crédits : 3.0