#1 Le 02/11/2021, à 21:11
- abecidofugy
une IA open source pour détecter les bugs
Salut,
Intel présente une IA open source pour détecter les bugs
Ce nouvel outil, ControlFlag, exploite l’intelligence artificielle et plus précisément le machine learning afin de fonctionner : https://siecledigital.fr/2021/11/02/int … -les-bugs/
Espérons que ça serve aussi à notre écosystème GNU/Linux.
Il est vrai que faire des rapports de bug est souvent une aventure un peu longue, et parfois en doublon si on n’a pas bien fait sa recherche avant de faire le sien.
Bonne soirée.
Hors ligne
#2 Le 02/11/2021, à 22:07
- Nuliel
Re : une IA open source pour détecter les bugs
Bonjour,
'année dernière, ControlFlag a identifié une anomalie de code dans l'URL client (cURL), un projet de logiciel transférant des données à l'aide de divers protocoles réseau plus d'un milliard de fois par jour
Ils auraient pu remercier google traduction
Alors je sais pas si c'est pas un peu une grosse bêtise de se baser sur des dépôts github potentiellement mauvais dans le sens qualité du code pour détecter des erreurs dans d'autres codes. La grande question étant quels dépôts seront choisis: l'efficacité d'un logiciel basé sur de l'IA repose sur la qualité des données d'entraînement.
Sinon il y a déjà beaucoup d'outils pour détecter des bugs et qui sont pas tous connus: du plus basique (les warnings avec -Wall et -Wextra, et les équivalents clang) aux logiciels de détection statiques (scan-build, cppcheck), et aussi les outils de détection dynamiques (gcc a des options pour les "undefined behaviors", comprendre les cas foireux qui donnent des résultats aléatoires). Avec tout ça (et plein que j'ai pas cité), il y a déjà de quoi faire
Dernière modification par Nuliel (Le 02/11/2021, à 22:08)
Hors ligne
#3 Le 03/11/2021, à 08:06
- abecidofugy
Re : une IA open source pour détecter les bugs
Haha, moi qui pensais détenir une news ^^
Merci pour ces précisions, Nuliel.
Hors ligne
#4 Le 03/11/2021, à 21:36
- Nuliel
Re : une IA open source pour détecter les bugs
En vrai le machine learning permet de faire des choses incroyables (et qui font peur parfois), mais généralement dès qu'on entend parler d'un truc basé sur du machine learning, on nous fait croire que ça va marcher de façon plus ou moins magique avec de grosses quantités de données, alors qu'en réalité c'est pas si simple (j'en ai fait un peu). Tu peux voir le machine learning comme des statistiques (donc des maths), il faut donc des grosses quantités de données pour pouvoir faire des trucs. Mais cela ne suffit pas: si par exemple tu as des données représentant 3 catégories, et que une catégorie est sous représentée, tu vas te retrouver avec du sur apprentissage, et des nouvelles données seront difficiles à classer dans les catégories.
A noter que pour la détection de bugs, il existe aussi d'autres méthodes pour trouver des bugs qui sont plus avancées: le fuzzing (envoyer plein de données différentes en entrée d'un programme et attendre que ça crashe à cause d'une entrée spécifique, et remonter à la source du bug) et l'exécution symbolique (perso j'utilise angr dans un autre contexte que la recherche de bugs, c'est un peu lent mais c'est incroyable)
Dernière modification par Nuliel (Le 03/11/2021, à 21:47)
Hors ligne