Mes travaux se placent à l’interface entre le logiciel et le matériel dans les systèmes sur puce (SoC) avec l’objectif de trouver comment modifier le matériel (composant, architecture ou protocole) pour améliorer le fonctionnement des applications logicielles, ou comment modifier les couches logicielles (système d’exploitation, pilote de périphérique ou modèle de programmation) pour profiter des spécificités du matériel ou s’affranchir de ses contraintes.
Les projets auxquels je participe, les thèses que je co-encadre et les stages que je supervise relèvent tous des thèmes suivants :