
Apple a récemment publié trois études fascinantes qui offrent un aperçu sur la manière dont le développement basé sur l’IA pourrait améliorer les flux de travail, la qualité et la productivité.
PREDICTION DES DÉFAUTS LOGICIELS AVEC UN MODÈLE AUTOENCODEUR TRANSFORMER
Dans cette étude, les chercheurs d’Apple présentent un nouveau modèle d’IA qui répond aux limites des modèles de langage de grande taille actuels, tels que les « hallucinations », la génération pauvre en contexte et la perte de relations commerciales critiques lors de la récupération, lors de l’analyse de bases de code à grande échelle pour détecter et prédire des bugs.
Le modèle, nommé ADE-QVAET, vise à améliorer la précision de la prédiction des bogues en combinant quatre techniques d’IA : l’évolution différentielle adaptative (ADE), l’autoencodeur variationnel quantique (QVAE), une couche Transformer, et la réduction et augmentation de bruit adaptative (ANRA).
En résumé, ADE ajuste la manière dont le modèle apprend, tandis que QVAE l’aide à comprendre des modèles plus profonds dans les données. La couche Transformer assure que le modèle garde une trace de la manière dont ces motifs sont reliés, et ANRA nettoie et équilibre les données pour maintenir des résultats cohérents.
Selon les chercheurs, lors d’une évaluation sur un ensemble de données Kaggle créé spécifiquement pour la prédiction des défauts logiques, le modèle a atteint des performances impressionnantes : « Avec un pourcentage d’entraînement de 90%, ADE-QVAET obtient une précision, un rappel et un F1-score de 98,08%, 92,45% et 98,12%, respectivement, par rapport au modèle ML d’Évolution Différentielle (DE). » Cela signifie que le modèle est à la fois hautement fiable et très efficace pour identifier de véritables bogues, tout en évitant les faux positifs.
AGENTIC RAG POUR LES TESTS LOGICIELS AVEC ORCHESTRATION MULTI-AGENT
Cette seconde étude, réalisée par quatre chercheurs d’Apple, aborde une tâche chronophage à laquelle les ingénieurs qualité font face : la création et le maintien de plans et de cas de tests détaillés pour de grands projets logiciels. Ils ont développé un système qui utilise des modèles de langage de grande taille et des agents IA autonomes pour générer et gérer automatiquement des artefacts de test, allant des plans de test aux rapports de validation, tout en maintenant une traçabilité complète entre les exigences, la logique commerciale et les résultats.
En d’autres termes, ils ont construit un système d’IA capable de planifier, rédiger et organiser des tests logiciels de manière autonome, ce qui pourrait aider à simplifier le flux de travail des ingénieurs qualité, qui consacrent « 30 à 40 % de leur temps à créer des artefacts de test fondamentaux, tels que des plans de test, des cas et des scripts d’automatisation. » Les résultats de cette étude sont tout aussi prometteurs, mentionnant que : « Le système atteint des améliorations remarquables de précision, passant de 65 % à 94,8 %, tout en garantissant une traçabilité documentaire complète tout au long du cycle de vie de l’ingénierie qualité. »
FORMATION DES AGENTS ET VÉRIFICATEURS EN INGÉNIERIE LOGICIELLE AVEC SWE-GYM
Cette étude est peut-être la plus intéressante et ambitieuse des trois. Tandis que les précédentes s’intéressent à la prévision d’apparition de bogues et à leur validation, SWE-Gym vise à entraîner des agents IA capables de réparer des bogues en apprenant à lire, modifier et vérifier du code réel.
SWE-Gym a été construit à l’aide de 2 438 tâches Python du monde réel provenant de 11 dépôts open-source, chacun avec un environnement exécutable et une suite de tests pour permettre aux agents de s’exercer dans des conditions réalistes. Les chercheurs ont également développé SWE-Gym Lite, qui inclut 230 tâches plus simples et plus autonomes pour accélérer l’entraînement et l’évaluation.
Les résultats indiquent que les agents formés avec SWE-Gym ont résolu correctement 72,5 % des tâches, dépassant les références précédentes de plus de 20 points de pourcentage, tandis que SWE-Gym Lite a réduit de près de moitié le temps d’entraînement par rapport à la configuration complète, tout en offrant des résultats similaires.