Investigadores han desarrollado 'a3-python', una herramienta de verificación de programas para Python impulsada por inteligencia artificial. Python, a pesar de su amplio uso tanto por humanos como por modelos de lenguaje grandes (LLMs), ha sido históricamente difícil de verificar formalmente. El equipo, inspirado por una solicitud a un agente de IA para generar matemáticas al nivel de Vladimir Voevodsky y aprovechando el trabajo de Nikolaj Bjørner (co-creador de Z3), utilizó el framework 'a3' para crear esta herramienta. 'a3-python' ha sido probado en el popular paquete 'requests' (con 183 funciones y aproximadamente 5000 líneas de código), identificando 179 de 183 posibles instancias de errores como seguras, y encontrando cuatro errores reales que podrían haber causado fallos inesperados en producción. El desarrollo involucró la 're-descubierta' de fundamentos matemáticos, la integración de técnicas de verificación simbólica y el uso de LLMs para generar la teoría de verificación y el código. El proceso iterativo, que involucró la refactorización basada en retroalimentación de LLMs, resultó en una herramienta capaz de identificar y certificar la seguridad del código, marcando un avance significativo en la verificación de programas en lenguajes complejos como Python.
