Une récente étude menée par Sonar, spécialisé dans l’analyse de code, montre que l’adoption des assistants et des agents IA de codage est forte. 72% des sondés (1 100 développeurs) s’en servent quotidiennement. Cependant, ils sont 96% à affirmer ne pas faire entièrement confiance au code produit par ces outils. En parallèle, la moitié des développeurs indiquent vérifier systématiquement leur code généré par l’IA avant de le valider et près de 40% estiment que sa relecture exige plus d'efforts que celui écrit par un humain.
Selon Chris Grams, vice-président du marketing chez Sonar, à mesure que la qualité des assistants de codage s'améliore, les programmeurs ont plus de mal à détecter les erreurs, et ce, non pas parce qu'elles sont absentes. « On se retrouve face à un problème similaire à celui de chercher une aiguille dans une botte de foin : même si le nombre de problèmes diminue globalement, ces problèmes peuvent constituer une faille de sécurité majeure, bien dissimulée et difficile à détecter, susceptible de paralyser une application », explique-t-il.
Les assistants IA de codage trop verbeux
Selon plusieurs experts, ces outils ont tendance à devenir plus verbeux - écrivant davantage de lignes de code pour corriger un problème - ce qui rend la détection des erreurs plus difficile lorsqu'elles surviennent. Alex Lisle, directeur technique de la plateforme de détection de deepfake, Reality Defender souligne auprès de CIO que les développeurs de la société se servent des outils de codage IA « pour des tâches répétitives et la correction de quelques petits bugs ». Il ajoute, « nous n’avons absolument aucune confiance dans le code généré par l’IA ». Par ailleurs, il rappelle que la responsabilité de la qualité du code incombe au développeur qui utilise l’assistant de codage.
Sur la confiance, Mark Porter, directeur technique du fournisseur de solutions d'analyse de données dbt Labs est plus nuancé. « Faire confiance au code écrit par l'IA revient à faire confiance au code écrit par un humain » affirme-t-il. « En général, je recherche les mêmes indicateurs de fiabilité dans le code généré par l'IA que dans n'importe quel autre code. S'il a été créé selon un processus rigoureux, je lui fais autant confiance qu'à un code écrit par un humain », reconnait le dirigeant. Pragmatique, il n’ignore pas les limites des assistants, « le code produit par l’IA peut présenter des erreurs différentes du code écrit par des humains. L'IA ajoute souvent de la complexité et formule des commentaires trop péremptoires ». Pour lui, la confiance doit s’adapter à ces défis spécifiques. Il plaide pour « mettre en place des processus, des directives et des formations pour aider les ingénieurs à utiliser l'IA afin d'écrire un code efficace, correct et maintenable ».
Un trop grand volume de code à vérifier
Alex Lisle de Reality Defender observe également que le volume de code produit avec l’IA crée ses propres problèmes. « C'est un peu comme avoir un développeur junior capable d'écrire une très grande quantité de code très rapidement », explique-t-il. « Le problème, c'est que l'IA ne comprend pas le code ni le contexte global. Elle fait souvent le contraire de ce qu'on lui demande. » Selon Alex Lisle, une dépendance excessive au code généré par l'IA peut aboutir à un code source illisible. « On peut faire générer des centaines de milliers de lignes de code par une IA, mais c'est très difficile à maintenir, très difficile à comprendre, et en environnement de production, c'est tout simplement inadapté », constate-t-il.
Un avis partagé par Brian Owens, président et architecte logiciel senior de Keypress Softwatre Development, spécialisé dans le développement Microsoft, qui explique les limites des assistants IA de codage. « Nous avons constaté que les outils d'IA ignorent parfois des aspects clés du code source existant ou ne respectent pas les normes de codage et les modèles architecturaux établis », explique-t-il « Cela engendre du travail supplémentaire pour notre équipe, notamment des révisions, des refactorisations et des corrections pour garantir que le code soit prêt pour la production », admet-il. Les gains de temps sont aussi à relativiser : « dans certains cas, le temps consacré à la validation et à la correction du code généré par l'IA peut annuler les gains d'efficacité escomptés, et parfois même prendre plus de temps que si un développeur avait écrit le code sans l'aide de l'IA ».

Commentaire