Skip to main content

Son logiciel pourrait alerter les concepteurs quand ils sont sur le point de se tromper

Son logiciel pourrait alerter les concepteurs quand ils sont sur le point de se tromper
10 avril 2018
|

Imaginez un programme capable d’alerter les concepteurs de logiciels quand ils sont sur le point de faire une erreur.

C’est précisément le concept que Mathieu Nayrolles travaille à réaliser. Doctorant au Département de génie électrique et informatique de l’Université Concordia et membre du laboratoire de recherche sur la journalisation et la surveillance de systèmes intelligents, il examine comment faciliter la conception de logiciels exempts d’erreurs.

En effet, les concepteurs veulent limiter le plus possible le nombre d’erreurs – ou bogues – dans leurs logiciels. Mathieu Nayrolles travaille donc à mettre au point un programme d’intelligence artificielle (IA) qui apprend les schémas d’erreur en parcourant des décennies de codes de logiciels.

Cet outil permet aux concepteurs de concentrer leurs efforts sur la création de fonctionnalités plutôt que sur la correction des erreurs de programmation, explique Mathieu Nayrolles.

En collaboration avec son directeur de thèse, Abdelwahab Hamou-Lhadj, il a récemment conclu un partenariat avec Ubisoft pour mettre à l’essai un programme d’intelligence artificielle sur des données industrielles. Appelé Commit Assistant, le prototype utilisé à Ubisoft pour repérer les bogues durant le développement des jeux de l’entreprise est fondé sur de nombreux algorithmes conçus par Mathieu Nayrolles dans le cadre de ses recherches.

Le jeune chercheur dirige en outre une équipe dont le travail est axé sur l’amélioration de la qualité des produits Ubisoft.

L’apprentissage machine est un sujet brûlant tant à l’université que dans l’industrie

Mathieu Nayrolles

Quel est le rapport entre l’image ci-dessus et vos travaux à Concordia?

Il s’agit d’un exposé que j’ai présenté lors d’un atelier organisé à l’interne par Ubisoft, au siège social de Paris. Des programmeurs principaux, des experts et des architectes se sont réunis pour discuter des façons dont nous pouvons améliorer la qualité du codage afin de faciliter l’entretien à long terme de logiciels complexes. Ma présentation portait sur ma thèse de doctorat et sur la façon dont mes recherches peuvent être mises en application à Ubisoft.

Quels résultats attendez-vous de vos travaux? Et quels pourraient en être les effets concrets dans la vie des gens?

La conception et l’entretien des logiciels dépendent beaucoup de l’intervention humaine. Malgré tous les efforts déployés durant les essais, la plupart du temps, les systèmes logiciels contiennent encore beaucoup d’erreurs lorsqu’ils sont lancés sur le marché. En fait, corriger les bogues demeure une des étapes de la conception de logiciels qui nécessitent le plus de temps.

En automatisant ce processus, nous pouvons : aider les entreprises à produire des systèmes plus fiables et de meilleure qualité, et ce, à un meilleur prix; permettre aux concepteurs logiciels de se concentrer sur la création de nouvelles fonctionnalités qui présentent une valeur ajoutée pour l’utilisateur; rehausser la réputation de ces entreprises sur le marché; et offrir à la clientèle un accès à des logiciels fiables et sécuritaires.

Quels sont les principaux obstacles auxquels vous vous êtes heurté dans vos travaux? Dans quels domaines vos travaux pourraient-ils être utilisés?

Cela se résume en un seul mot : données. L’apprentissage machine est un sujet brûlant tant à l’université que dans l’industrie. Cependant, il faut des quantités astronomiques de données pour obtenir un résultat précis. Il est possible pour les chercheurs de modéliser et de valider leurs approches au moyen de données en libre accès, mais il est aussi important de mettre leurs prototypes à l’épreuve en contexte industriel.

Quelle personne, quelle expérience ou quel événement particulier vous a donné l’idée de votre sujet de recherche et incité à vous intéresser à ce domaine?

Ma première expérience en industrie a eu lieu chez Saint-Gobain, en France, le chef de file mondial du marché de l’habitat. J’ai vu combien il était difficile pour des concepteurs chevronnés de produire des logiciels d’entretien qualitatif dans une équipe géographiquement dispersée, selon des exigences matérielles très contraignantes. À la suite de cette expérience, j’ai décidé de consacrer mes efforts à faciliter le travail de mes camarades programmeurs.

Comment les étudiants en STIM que cela intéresse peuvent-ils se lancer dans ce type de recherche? Quel conseil leur donneriez-vous?

Je leur conseillerais d’apprendre le plus de langages de programmation possible et de se renseigner sur les façons dont on construit des systèmes logiciels d’envergure. Je leur recommande aussi de consulter le site The Pragmatic Bookshelf, de même que la série The Architecture of Open Source Applications.

Qu’est-ce qui vous plaît le plus à Concordia?

L’excellence du personnel universitaire, sans oublier le mélange des différentes nationalités et des expériences antérieures qu’on trouve chez les membres de la communauté étudiante.

Vos recherches bénéficient-elles du financement ou du soutien de partenaires ou d’organismes?

Le projet de recherche a été financé par le Conseil de recherches en sciences naturelles et en génie du Canada. J’ai également reçu l’appui du Fonds de recherche du Québec – Nature et technologies et de Mitacs.

Les concepteurs d’Ubisoft ont contribué à améliorer l’outil et nous ont fourni de précieux conseils tout au long du projet. L’équipe de direction d’Ubisoft Laforge – en particulier Yves Jacquier et Olivier Pomarez – nous a soutenus à chaque étape du projet, et ce, dès le premier jour.

Apprenez-en plus sur le Département de génie électrique et informatique de l’Université Concordia.

Regardez une vidéo explicative sur Commit Assistant, l’outil d’Ubisoft développé au moyen d’algorithmes conçus par Mathieu Nayrolles dans le cadre de ses recherches. 



Sujets tendance

Retour en haut de page

© Université Concordia