Dr. Steven Costiou
Chargé de
recherche Inria
Je suis chargé de recherche Inria, dans l’équipe RMoD
du laboratoire CRIStAL.Mots clés : Debugging, Live Debugging,
Object-Centric Debugging, Time-travel Debugging, Scriptable Debuggers, Dynamic
Langages, Reflection, Software Adaptation, Object-Oriented Systems, Software
Engineering.
Recherche
Je m’intéresse
aux moyens d’aider les développeurs et les développeuses à mieux traquer,
comprendre et corriger les bugs dans leurs programmes. Pour cela, d’une part je
cherche à identifier les meilleures techniques applicables à la résolution de
problèmes de debugging difficiles. D’autre part, je cherche à identifier et à
étudier les propriétés que les langages de programmation et leurs
infrastructures doivent exposer pour supporter ces techniques de debugging. Pour
certains problèmes – notamment des problèmes industriels concrets – ces
techniques n’existent pas et je dois les définir. Je construis alors des outils
pour prouver la faisabilité de ces nouvelles techniques et leur application au
problème ciblé, et les évalue empiriquement pour étudier et comprendre leur
impact. Enfin, je transfère les outils les plus avancés et les plus prometteurs
dans le monde de l’open-source et de l’industrie.
Étudiants
Doctorants
- Maximilian Willembrinck:
Queryable time-traveling debuggers. Financement: Inria Lille. Encadrant
(directrice : Pr. Anne Etien), 2020 - 2023.
- Thomas Dupriez: New
Generation Debuggers. Financement: ENS Paris Saclay. Co-encadrant (50% sur 2
ans) sur les debuggeurs scriptables (directeur : Stéphane Ducasse), 2018 -
2020.
Master 2
- Louise
Plantec (recherche). Mise en oeuvre d’un robot roulant à base de carte
Rasperry-pi pour l’expérimentation de debuggers centrés objet distants. Louise
est aujourd’hui ingénieure logiciel chez Thales. Établissement: IMT Atlantique.
2018, 6 mois.
- Elouan Vaillant (recherche). Mise en oeuvre d’un
robot roulant à base de carte Rasperry-pi pour l’expérimentation de debuggers
centrés objet distants. Établissement: IMT Atlantique. 2018, 6
mois.
- Khitam Souleiman (industrie). Projet R&D portant sur une
infrastructure de gestion de commandes dans des salles de restaurant.
Établissement: ISEN Brest. 2014, 6 mois.
Master
1
- Clotilde Toullec (recherche). Mise en oeuvre d’un
débugger sur la recherche et l’historisation d’objets dans un programme en cours
d’exécution. Établissement: Université de Bretagne Occidentale. 2018, 4
mois.
- Amandine Trollet (industrie). Étude et réalisation d’un
prototype d’application mobile pour la prise de commande en salle de restaurant
sur un modèle client (mobile Android) serveur (caisse enregistreuse en
Smalltalk). Amandine est aujourd’hui ingénieure en développement dans
l’entreprise CYIM. Établissement: ENIB. 2015, 4 mois.
- Valentin
Bodereau (industrie). Conception et la réalisation d’un module de
synchronisation entre un logiciel de gestion de magasins et les données du site
e-commerce associé. Valentin est aujourd’hui référent technique chez Thales.
Établissement: ENIB. 2014, 4 mois.
- Florent Letraon (industrie).
Portage exploratoire d’une application web de gestion commerciale de la
technologie gwt vers une version native android pour téléphones portables.
Établissement: Université de Bretagne Occidentale. 2013, 3 mois.
Service
Comités de
programmes
Comités de relecture
Session chair
- Debugging session:
IWST 2019.
Comités d'organisation
locale
Étudiant volontaire
- European Smalltalk
User Group: ESUG 2009, 2016, 2017.
Groupes
de travail
- Responsable du GT debugging au sein du GDR GPL du
CNRS (2020 - ...). Ce GT a pour objectif de rassembler dans une même
communauté tout chercheur, ingénieur (ou industriel) ou équipe du GDR qui
s’intéresse aux problèmes du debugging logiciel. Nous nous intéressons aux défis
de la conception et de l’implémentation d’outils de debugging, à leur
généralisation et à leur évaluation empirique. Premièrement, au travers des
études empiriques nous voulons explorer et comprendre les besoins et les défis
du debugging sur les champs d’application étudiés par les différentes équipes du
GT : la robotique, l’IOT, le big data, les IHM, les langages dédiés exécutables,
le scientific computing, les langages à acteurs, les langages dynamiques, les
systèmes distribués et concurrents, etc. Deuxièmement, pour répondre au défis
mis en lumière nous définissons, explorons ou approfondissons de nouvelles
méthodes et techniques de debugging, par exemple et de manière non-exhaustive :
l’analyse d’exécution, le reverse-engineering, le remote-debugging, le debugging
centré-objet, les architectures réflexives, le back-in- time debugging, le live
modeling, etc. Enfin, nous étudions comment implémenter et généraliser les
méthodes et techniques mises au point dans des outils utilisables et évaluables
empiriquement. Ce dernier point est crucial, étant donné la difficulté notoire
de créer des outils applicables sur des cas réel, de leur évaluation
(c’est-à-dire : est-ce que ça marche vraiment ?) et de la reproductibilité des
expériences. Les équipes participantes à l’origine de la proposition du GT
réunissent différentes expertises scientifiques couvrant tout le spectre
problème-évaluation-étude-implémentation-généralisation de l’axe scientifique du
GT, comptant des industriels (Thales) et des équipes internationales (Université
de Chicoutimi au Québec et VUB Bruxelles). Le spectre du GT debugging reste
large et transversal à d’autres GT, du point de vue domaine applicatif ou des
méthodes étudiées. Notre objectif est également de vulgariser les problèmes
scientifiques cachés sous l’aspect appliqué du debugging et de rassembler les
différents acteurs du GDR rencontrant et étudiant ces
problèmes.
- Co-animateur de l’Équipe Associée Nord Europe Inria :
Advanced debugging (2020 - 2022). Nous avons obtenu un financement Inria
pour une équipe associée nord Europe avec la Pr. Elisa Gonzales Boix de la Virje
Universiteit Brussels. Je co-anime l’équipe avec Elisa Gonzales Boix et nous
organisons 2 workshops Inria/VUB par an.
Collaborations
- Université de Chicoutimi
(UCAQ) et Université de Concordia, Québec (2020 - ...). Collaboration avec
Fabio Petrillo, associate professor à l’UCAQ, spécialiste des évaluations
empiriques sur le debugging et Yann-Gaël Guéhéneuc, professeur à Concordia. Nous
menons des expériences empiriques sur les points d’arrêts logiciels. L’objectif
est de comprendre l’impact de ces techniques sur le debugging et comment cela
aide les développeurs.
- Université de Zurich, Suisse (2020 - ...).
Collaboration avec Alberto Bacchelli, associate professor, spécialiste des
évaluations logicielles empiriques. Nous menons des expériences empiriques sur
les opérateurs de debugging centrés sur les objets. L’objectif est de comprendre
l’impact de ces opérateurs sur le debugging et comment cela aide les
développeurs.
- Thales DMS, Brest (2017 - ...). Collaboration R&D
industrielle avec le Dr. Éric Le Pors, Responsable Atelier
Maquettage/Prototypage IHM chez Thales DMS à Brest : debugging à chaud et centré
sur les objets de maquettes IHM. 2 à 3 réunions par an, à Inria ou à Thales
DMS.
- Laboratoire SOFT, Vrije Universitat Brussels, Belgique (2017
- 2019). Collaboration avec la Pr. Elisa Gonzales Boix et Matteo Marra
(doctorant) : remote debugging pour applications sur systèmes
cyber-physiques.
- Inria, Lille (2017 - 2018). Collaboration avec
Marcus Denker, CR Inria (laboratoire CRIStAL) : extensions réflexives centrées
objet pour le langage Pharo.
- Diazol/Libre-Informatique, Brest
(2016 - 2018). Collaboration R&D industrielle avec Glenn Cavarlé, responsable
technique dans la société Diazol, puis responsable R&D dans la société
Libre-Informatique : prototypage dynamique pour applications
industrielles.