Home Technologie et scienceDes chercheurs du MIT proposent un nouveau modèle de logiciel lisible et modulaire | Actualités du MIT

Des chercheurs du MIT proposent un nouveau modèle de logiciel lisible et modulaire | Actualités du MIT

by Thomas Caron

Publié le 6 novembre 2025 13h00. Des chercheurs du MIT proposent une nouvelle approche de la conception logicielle, basée sur des « concepts » et des « synchronisations », pour rendre le code plus lisible, plus fiable et plus facile à automatiser à l’ère de l’intelligence artificielle.

  • Une nouvelle méthode divise les systèmes logiciels en unités distinctes appelées « concepts », chacune dédiée à une tâche spécifique.
  • Des « synchronisations » définissent clairement comment ces concepts interagissent, facilitant la compréhension et la maintenance du code.
  • Cette approche pourrait permettre aux assistants IA de développer des logiciels plus sûrs et plus automatisés, en réduisant les effets secondaires imprévus.

Le développement logiciel moderne est souvent confronté à un défi majeur : la complexité croissante du code. Les fonctionnalités sont fragmentées et dispersées, rendant difficile leur compréhension et leur modification sans introduire d’erreurs. Des chercheurs du Laboratoire d’informatique et d’intelligence artificielle (CSAIL) du MIT tentent de résoudre ce problème avec une approche innovante axée sur la modularité et la transparence.

L’équipe, dirigée par Daniel Jackson, professeur de génie électrique et d’informatique (EECS) au MIT et directeur associé du CSAIL, et Eagon Meng, doctorant à l’EECS et concepteur du nouveau langage de synchronisation, propose de diviser les systèmes en « concepts », des éléments autonomes conçus pour exceller dans une tâche précise, et en « synchronisations », des règles explicites qui décrivent comment ces éléments s’articulent. Cette méthode vise à créer un logiciel plus modulaire, plus facile à comprendre et à maintenir.

« Dans la manière dont nous construisons les logiciels aujourd’hui, les fonctionnalités ne sont pas localisées. Vous voulez comprendre comment fonctionne le “partage”, mais vous devez le rechercher à trois ou quatre endroits différents, et lorsque vous le trouvez, les connexions sont enfouies dans du code de bas niveau », explique Daniel Jackson. Il qualifie cette « fragmentation des fonctionnalités » d’obstacle majeur à la fiabilité des logiciels.

Pour faciliter l’expression de ces synchronisations, les chercheurs ont développé un petit langage spécifique à un domaine (DSL) que les modèles de langage volumineux (LLM) peuvent générer de manière fiable. Ce DSL permet de définir clairement les interactions entre les concepts, évitant ainsi les ambiguïtés et les erreurs potentielles.

« Considérez les concepts comme des modules complètement propres et indépendants. Les synchronisations agissent alors comme des contrats : elles indiquent exactement comment les concepts sont censés interagir. C’est puissant car cela rend le système à la fois plus facile à comprendre pour les humains et plus facile à générer correctement pour des outils tels que les LLM », précise Daniel Jackson.

Eagon Meng ajoute : « Pourquoi ne pouvons-nous pas lire le code comme un livre ? Nous pensons que les logiciels doivent être lisibles et écrits en fonction de notre compréhension : notre espoir est que les concepts correspondent à des phénomènes familiers et que les synchronisations représentent notre intuition sur ce qui se passe lorsqu’ils se réunissent. »

Les avantages de cette approche vont au-delà de la clarté. Les synchronisations, étant explicites et déclaratives, peuvent être analysées, vérifiées et générées par un LLM, ouvrant la voie à un développement logiciel plus sûr et plus automatisé. Dans leur étude de cas, l’équipe a démontré comment cette méthode pouvait regrouper des fonctionnalités auparavant dispersées sur plusieurs services.

Les chercheurs envisagent également des applications plus avancées, telles que la coordination de systèmes distribués ou la gestion de bases de données partagées. Ils imaginent même la création de « catalogues de concepts », des bibliothèques de modules bien testés et spécifiques à un domaine, permettant aux développeurs de construire des applications en assemblant simplement les concepts appropriés et en définissant leurs interactions.

Des experts externes saluent cette approche. Kevin Sullivan, professeur agrégé à l’Université de Virginie, souligne que « construire des logiciels à usage humain à partir d’abstractions provenant de machines informatiques sous-jacentes a surchargé le monde de logiciels trop souvent coûteux, frustrants, voire dangereux, à comprendre et à utiliser. Meng et Jackson inversent le scénario et insistent sur la création de logiciels interactifs sur des abstractions de la compréhension humaine, qu’ils appellent des “concepts”. »

Thomas Ball, professeur honoraire de l’Université de Lancaster et professeur affilié à l’Université de Washington, ajoute : « La capacité des LLM à générer du code n’a fait qu’alimenter le feu des spécifications. Le travail de Meng et Jackson sur la conception conceptuelle fournit un moyen prometteur de décrire ce que nous attendons du logiciel de manière modulaire. Leurs concepts et spécifications sont bien adaptés pour être associés aux LLM afin d’atteindre l’intention du concepteur. »

Les résultats de cette recherche ont été présentés lors de la Splash Conference à Singapour en octobre 2025 et sont disponibles dans l’article “Ce que vous voyez est ce qu’il fait : un modèle structurel pour un logiciel lisible“. Le travail a été partiellement financé par l’initiative Machine Learning Applications (MLA) des alliances CSAIL, avec le soutien de British Telecom, Cisco et Ernst and Young au moment du financement.

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.