Le nouveau générateur de tests basé sur les LLM de Meta offre un aperçu de l’avenir du développement
- Meta a publié un article intitulé "Automated Unit Test Improvement using Large Language Models at Meta".
- Cet article montre comment l’IA peut accélérer le développement et réduire les bugs logiciels.
- En intégrant les LLM au workflow des développeurs, il propose des améliorations logicielles précises et complètes pour améliorer la couverture de code existante.
Points clés
- TestGen-LLM utilise l’approche « Assured LLM-based Software Engineering » (Assured LLMSE).
- Il adopte une approche d’ensemble qui génère des propositions d’amélioration du code à l’aide de plusieurs LLM, prompts et hyperparamètres, puis sélectionne la meilleure.
- TestGen-LLM a été spécialement conçu pour améliorer des tests existants écrits par des humains.
Statistiques
- Lors de l’évaluation des produits Reels et Stories d’Instagram, 75 % des cas de test générés par TestGen-LLM ont pu être compilés correctement, 57 % ont réussi de manière fiable, et 25 % ont augmenté la couverture.
- TestGen-LLM a permis d’améliorer 10 % de toutes les classes auxquelles il a été appliqué, et les développeurs ont accepté 73 % des propositions d’amélioration de tests pour les déployer en production.
- Lors d’un « test-a-thon » où les ingénieurs de Meta généraient des tests pour augmenter la couverture de test d’Instagram, la médiane des lignes de code ajoutées par les tests de TestGen-LLM était de 2,5.
Enseignements pratiques
- C’est un bon exemple de la manière dont les LLM peuvent améliorer efficacement la productivité des développeurs et la fiabilité logicielle.
- La véritable valeur des LLM réside dans leur capacité à trouver et à détecter des edge cases inattendus.
- Pour utiliser les LLM en production, il faut de l’orchestration, des pipelines et du traitement.
Fonctionnement de TestGen-LLM
- TestGen-LLM applique une série de filtres sémantiques aux solutions candidates générées par les LLM internes de Meta afin de ne conserver que les tests les plus utiles.
- Filtre 1 : possibilité de compilation, filtre 2 : exécution (réussite ou échec du test), filtre 3 : instabilité, filtre 4 : amélioration de la couverture.
- Ces filtres de traitement garantissent l’amélioration de la suite de tests.
Conclusion
- Cet article constitue un bon moyen de suivre les progrès des LLM dans le domaine de la fiabilité logicielle, que de nombreux développeurs utilisent déjà.
- Les LLM deviendront capables de trouver des bugs et de tester des systèmes logiciels de plus en plus complexes.
L’avis de GN⁺
- Cet article offre un éclairage intéressant sur l’impact potentiel de l’intelligence artificielle sur l’avenir du développement logiciel.
- Des outils comme TestGen-LLM peuvent grandement aider à automatiser le travail des développeurs et à améliorer l’efficacité.
- Les avancées de ces technologies vont dans le sens d’une réduction de la complexité du développement logiciel, d’une amélioration de la qualité et d’un gain de temps pour les développeurs.
1 commentaires
Avis Hacker News