Anthropic y Theorem, una empresa especializada en métodos formales, informan que Claude generó pruebas matemáticas verificadas por computadora para 239 puntos de entrada de pruebas en 123 bibliotecas de código abierto. El trabajo se centra en propiedades concretas de seguridad y en programas compilados para RISC-V; no demuestra que las bibliotecas estén libres de cualquier error en todas sus versiones o usos.
9
5
La escala llama la atención: según el equipo, el proyecto tomó unas semanas y produjo alrededor de 180 millones de líneas de pruebas escritas en Rocq. Su importancia potencial es que la asistencia de IA podría hacer más viable la verificación formal de software real, siempre que las garantías se interpreten dentro de lo que efectivamente se especificó y comprobó.
3
13
Qué demuestran las pruebas
Anthropic afirma que los programas cubiertos terminan normalmente, sin errores de seguridad de memoria ni aserciones fallidas, para todas las entradas de menos de 64 MB y ante respuestas del sistema operativo Linux y disposiciones de memoria contempladas por sus modelos, bajo ciertos supuestos. Las pruebas se aplican a artefactos compilados para RISC-V, no a una garantía general sobre cada versión o instalación de las bibliotecas.
9
12
El equipo reutilizó puntos de entrada de OSS-Fuzz, el programa de Google que ejecuta pruebas automatizadas sobre proyectos de código abierto, como especificaciones formales. En vez de limitarse a probar muchos casos, Claude generó pruebas sobre el comportamiento del binario especificado para todo el conjunto de entradas que contempla cada teorema.
3
13
Anthropic describe el trabajo como el primer intento a gran escala de usar IA para verificar formalmente software de producción a nivel de ensamblador. Esa es la caracterización de la empresa sobre la novedad del proyecto, no un consenso histórico establecido de forma independiente.
7
13
Para qué sirve el verificador Rocq
Claude generó las pruebas y el núcleo de Rocq las comprobó. Así, la verificación mecánica no depende de confiar en el razonamiento de Claude ni de que una persona revise a mano cada línea. Pero eso no elimina todos los supuestos: el teorema debe expresar la propiedad que realmente importa y los modelos formales y el verificador siguen formando parte de la base de confianza.
9
5
Anthropic y otros reportes sitúan el resultado en unos 180 millones de líneas de pruebas Rocq, o cerca de 600.000 líneas por binario en promedio. Ese volumen da una idea de la escala del trabajo, pero el número de líneas no indica por sí solo cuán amplia es una propiedad ni si responde a las necesidades de un proyecto en producción.
3
12
Qué puede pasar por alto el fuzzing
El fuzzing somete el software a muchas entradas, pero por sí solo no prueba qué ocurrirá con todas las entradas posibles dentro de un dominio definido. Según los reportes del proyecto, Claude encontró y corrigió cientos de errores, incluidos algunos que habían resistido billones de ejecuciones de fuzzing. Son cifras atribuidas a este trabajo; no miden de forma independiente cuánto superará la verificación formal a las pruebas en otros proyectos.
2
11
La conclusión práctica no es dejar de hacer pruebas. La verificación formal aporta otro tipo de evidencia: para una propiedad y un alcance determinados, puede demostrar el comportamiento ante todas las entradas contempladas por la especificación, no solo ante los casos ejecutados durante las pruebas.
9
2
«Verificado» no significa «sin errores»
Las garantías se limitan a puntos de entrada seleccionados y a determinados binarios compilados. No cubren automáticamente todas las funciones de una biblioteca, sus configuraciones de compilación, otras arquitecturas ni todos los usos posibles.
9
5
También importan las condiciones de ejecución. Los reportes describen las pruebas para binarios estáticos y de un solo hilo, ejecutados en RISC-V bajo un entorno Linux modelado y con un presupuesto de memoria fijo. Como muchos usuarios utilizan compilaciones para otras arquitecturas o configuraciones, el resultado no debe tomarse como una garantía para esas implementaciones.
12
27
34
Por último, una prueba formal demuestra el teorema que se escribió, no cualquier propiedad que un desarrollador pudiera desear. Pueden quedar errores fuera del alcance de la prueba o en los modelos formales y los fundamentos del verificador de los que depende el resultado.
5
31
Qué pueden sacar en limpio los desarrolladores
La contribución principal es mostrar que la asistencia de IA podría hacer viable la verificación formal a nivel de ensamblador en más software real que antes, cuando el proceso requería un esfuerzo considerable de especialistas. El resultado no establece un costo universal ni garantiza que el método funcione con cualquier base de código.
7
13
Hay disponible públicamente una parte de los artefactos: un reporte describe ese conjunto como 25 bibliotecas y 60 puntos de entrada, no como el proyecto completo. Theorem también anunció OSS Verify, un programa dirigido a quienes mantienen proyectos de código abierto.
32
16
38
Para quienes desarrollan software, lo más útil es tratar cada prueba como una garantía acotada: comprobar el punto de entrada, el binario, los supuestos y la propiedad exacta antes de confiar en ella. El trabajo hace que valga la pena evaluar la verificación formal asistida por modelos de lenguaje junto con las pruebas habituales; no es una razón para dejar de probar ni para asumir que un programa está libre de errores.
9
5