Objectifs
Au terme de ce cours, la personne étudiante sera en mesure de/d’ :
• Décrire des principes généraux de construction des logiciels avec des techniques de l’apprentissage automatique;
• Identifier des classes de défauts qui surviennent pendant la construction des logiciels ;
• Décrire et appliquer des méthodes de test classiques et des méthodes de test à base de l’apprentissage automatique;
• Élaborer un plan de test pour des logiciel construits à base de l’apprentissage automatique;
• Sélectionner et appliquer des outils de test à des logiciels construits à l’aide des techniques de l’apprentissage automatique.
Contenu
Introduction à l’apprentissage automatique et cadriciel de construction des logiciels avec des techniques de l’apprentissage automatique. Caractéristiques de la qualité de l’apprentissage automatique : autonomie, évolution, biais, éthique, interprétabilité, sureté. Apprentissage machine : modèles et principes généraux d’apprentissage machine, processus d’apprentissage machine, qualité des données, validation de modèles, défauts dans les processus d’apprentissage machine. Méthodes, techniques et outils de test des systèmes construits à base de l’IA : critères de couvertures des réseaux de neurones, génération de tests, attaques contradictoire, empoisonnement des données, test de comparaison, test métamorphique. Environnement classiques et virtuels de test pour les systèmes à base de l’apprentissage automatique. Méthodes de test à base de l’apprentissage automatique : génération des cas de tests, optimisation et test de régression, prédiction de fautes, test d’interfaces. Intégration du test dans le pipeline CD/CI. Étude des cas de test des logiciels construits à base de l’intelligence artificielle dans différents domaines appliqués (Transport, Industrie 4.0, Santé, Agriculture, Ville intelligente). Ce cours comporte des séances obligatoires de travaux dirigés (TD).