KHORA : Programmation exploratoire au travers des environnements de développement augmentés
Les développeurs logiciels doivent désormais explorer et opérer dans un espace de conception de plus en plus complexe et en constante évolution, tout en devant déployer de nouvelles versions de logiciels plus rapidement. KHORA conduit une activité de recherche en science du logiciel pour aider les développeurs à maîtriser cet espace de conception qui se complexifie.
Pour cela, KHORA développe de nouvelles théories, approches et techniques scientifiques liées à la programmation exploratoire, un mode de développement permettant d'essayer, comparer et explorer différentes versions d'artéfacts logiciels. L'agenda de recherche de KHORA implique de travailler sur :
- des environnements de développement intégrés (IDE) spécifiques à un domaine et des jumeaux numériques pour aider les développeurs à maîtriser leur espace de conception de développement grâce à de nouvelles fonctionnalités de programmation exploratoire (environnement de développement augmenté) ;
- des techniques d'analyse de code à grande échelle, polyglottes et fondées sur l'IA pour soutenir la programmation exploratoire (analyse de code augmentée). Les domaines d'application de KHORA englobent le génie logiciel avec l'(co-)évolution et l'optimisation des artéfacts logiciels (par exemple, réduire la consommation énergétique des logiciels) et le calcul scientifique pour aider les scientifiques dans leur développement logiciel complexe.
Axes de recherche
La programmation exploratoire nécessite un agenda de recherche qui implique d'étudier à la fois les pistes de recherche en interaction humain-machine (IHM) et en génie logiciel. L'agenda de recherche de KHORA implique donc de travailler sur :
- Axe 1 – Environnement de développement augmenté : IDE et jumeaux numériques spécifiques à un domaine pour aider les développeurs à maîtriser leur espace de conception de développement grâce à de nouvelles fonctionnalités de programmation exploratoire ;
- Axe 2 – Analyse de code augmentée : Techniques d'analyse de code à grande échelle, polyglottes et fondées sur l'IA pour soutenir la programmation exploratoire.
Mots-clés : science du logiciel ; programmation exploratoire ; expérience du développeur ; environnement de développement ; analyse de code; (co-)évolution et optimisation d'artéfacts logiciels
Fait suite à DiverSE