How to train your program verifier
Les auteurs présentent a3 comme un cadre visant à générer des moteurs d’analyse avancée en combinant vérification formelle et intelligence artificielle, pour rendre la vérification applicable à des langages courants comme Python. Ils décrivent a3-python, un vérificateur pour Python choisi pour sa popularité malgré la complexité qui freine les outils de vérification traditionnels. L’approche fusionne un cerveau analytique et un backend symbolique, en utilisant des barrières de certificats et des oracles concoliques pour distinguer les états sûrs des bogues réels. Les résultats sur plusieurs dépôts réels montrent qu’une majorité des bogues potentiels est écartée par les barrières, tandis qu’un petit nombre de cas difficiles est confirmé comme bogues réels par l’exécution symbolique dirigée. Le cadre est pensé pour une déployabilité en CI, avec une architecture hybride qui peut s’adapter à d’autres langages et bibliothèques tout en restant indépendant des API externes coûteuses.