L'IA peut-elle vraiment coder ? Une étude révèle les obstacles à l'ingénierie logicielle autonome
Imaginez un avenir où l'intelligence artificielle (IA) prend en charge les tâches fastidieuses du développement logiciel : restructuration de code complexe, migration de systèmes obsolètes et détection de bugs, permettant aux ingénieurs humains de se concentrer sur l'architecture, la conception et les problèmes innovants. Une récente étude du MIT, menée par le Computer Science and Artificial Intelligence Laboratory (CSAIL), examine les défis actuels pour atteindre cet objectif. Intitulée « Challenges and Paths Towards AI for Software Engineering », cette recherche identifie les limites des outils d'IA actuels et propose des pistes pour les surmonter.
Armando Solar-Lezama, professeur au MIT et auteur principal de l'étude, souligne que l'automatisation a fait des progrès remarquables, mais que le chemin reste long. Selon lui, la vision populaire réduit l'ingénierie logicielle à de simples exercices de programmation, alors qu'elle englobe des tâches bien plus vastes : refactorisation, migration de millions de lignes de code, tests approfondis et maintenance quotidienne.
Les benchmarks actuels, comme SWE-Bench, évaluent les modèles d'IA sur des problèmes isolés, sans tenir compte des scénarios réels impliquant des bases de code massives ou une collaboration humain-IA. Alex Gu, premier auteur de l'étude, pointe également les limites de la communication entre l'IA et les développeurs. Les modèles génèrent souvent du code sans indiquer leur niveau de confiance, ce qui peut conduire à des erreurs critiques en production.