Las JiTTests de Meta usan LLMs para detectar errores antes de que el código se integre
Meta ha implementado Just-in-Time Tests en producción, utilizando LLMs para generar pruebas ejecutables que detectaron 74 graves fallos de privacidad a principios de 2026.
Traducido automáticamente del original en inglés.
Meta ha trasladado sus Just-in-Time Tests (JiTTests) de la fase de investigación a una infraestructura de producción completa. Este sistema utiliza grandes modelos de lenguaje para generar pruebas ejecutables que identifican errores en los cambios de código antes de que se fusionen. La implementación busca detectar regresiones graves con mayor antelación, reduciendo al mismo tiempo la carga de revisión manual para los ingenieros.
Qué ocurrió
Durante el último año, los investigadores de Meta han explorado el uso de grandes modelos de lenguaje para detectar errores de software sobre la marcha. Presentaron las JiTTests como un enfoque novedoso en el que la IA genera pruebas para detectar problemas que las metodologías tradicionales podrían pasar por alto. En los cinco meses transcurridos desde la presentación de este trabajo, el equipo se centró en determinar si el enfoque podía escalar en la enorme base de código de Meta sin ralentizar la velocidad de desarrollo.
Los resultados muestran que las JiTTests son ahora parte integral del flujo de trabajo de ingeniería de Meta. El sistema ayuda a los ingenieros a detectar más errores con menor carga computacional y una tasa inferior de falsos positivos en comparación con prototipos anteriores. Al desplazar las pruebas hacia etapas tempranas (shift-left testing), la plataforma identifica riesgos de forma proactiva, permitiendo a los equipos responder eficazmente antes de que el código afecte a los usuarios.
Esta transición marca un cambio de herramientas experimentales de IA a infraestructura fiable. El equipo publicó un artículo titulado “Just-in-Time Catching Test Generation at Meta”, que detalla la implementación inicial. El objetivo era gestionar cientos de millones de líneas de código en constante evolución, garantizando que los métodos de prueba tradicionales pudieran mantenerse al ritmo de la entrega moderna de software.
Cómo funciona
Las JiTTests difieren fundamentalmente de los revisores de código estándar basados en IA. Mientras que la IA agéntica típica revisa el código basándose en experiencias previas, similar a un revisor humano, las JiTTests generan pruebas ejecutables. Estas pruebas demuestran diferencias concretas de comportamiento introducidas por un cambio de código. Este método requiere más pasos computacionales, pero detecta clases específicas de errores que las revisiones semánticas suelen pasar por alto.
El sistema opera mediante dos flujos de trabajo en tándem. El flujo "consciente de la intención" (intent-aware) infiere el propósito de un cambio de código e identifica posibles riesgos. A continuación, construye mutantes, que son hipotéticos errores, y genera pruebas para eliminarlos. El flujo "diff sospechosa" (dodgy diff) trata cada cambio como si fuera un error, generando pruebas para exponer diferencias de comportamiento sin razonar sobre la intención. Ambos flujos producen "detecciones débiles", que son fallos potenciales que requieren validación adicional.
Para filtrar estas detecciones débiles, Meta utiliza un conjunto llamado "LLM-as-Judge". Múltiples LLMs de última generación revisan el código de prueba, las trazas de ejecución y el diff en sí para clasificar los resultados como verdaderos o falsos positivos. Esto se complementa con RubFake, un evaluador basado en reglas que proporciona juicios deterministas. La combinación garantiza alta precisión antes de involucrar a ningún ingeniero humano.
Detalles clave
- Las JiTTests generaron y ejecutaron pruebas sobre diffs considerados riesgosos utilizando un mecanismo de Puntuación de Riesgo del Diff (Diff Risk Score).
- El sistema detectó 74 graves fallos de privacidad en la primera mitad de 2026 antes de que llegaran a producción.
- Los ingenieros reportaron una tasa de verdaderos positivos del 60% para los hallazgos presentados por las JiTTests.
- El enfoque redujo la ocurrencia general de incidentes de gravedad relacionada con la privacidad en un 20% durante el mismo período.
- 589 ingenieros, representando el 64% de los contactados, interactuaron con los resultados de las JiTTests.
- El flujo de trabajo utiliza un modelo de supervisión humana (human-on-the-loop), donde los ingenieros revisan resultados agregados en lugar de casos de prueba individuales.
Por qué importa
Para los equipos que desarrollan software a gran escala, la velocidad de despliegue suele superar la capacidad de realizar pruebas manuales exhaustivas. Las JiTTests demuestran que la IA puede proporcionar una capa de seguridad adicional capaz de detectar regresiones que el análisis estático o las pruebas unitarias tradicionales podrían pasar por alto. Automatizando la generación de pruebas ejecutables de fallo, las organizaciones pueden reducir el riesgo organizativo sin sacrificar la velocidad de desarrollo.
El diseño de supervisión humana es particularmente significativo para los líderes de ingeniería. En lugar de obligar a los desarrolladores a revisar cada prueba generada por IA, el sistema filtra el ruido y solo escala hallazgos de alta confianza. Esto reduce la fricción y asegura que la experiencia humana se aplique a confirmar cambios de comportamiento en lugar de depurar falsas alarmas. Hace que las pruebas asistidas por IA sean escalables social y tecnológicamente.
Además, el éxito de las JiTTests destaca el valor de combinar juicios probabilísticos de LLMs con sistemas deterministas basados en reglas. Los enfoques puramente impulsados por IA pueden sufrir de no determinismo, lo que dificulta confiar en ellos en pipelines críticos. Al integrar RubFake y LLM-as-Judge, Meta creó un sistema híbrido que equilibra la comprensión semántica con la lógica verificable, ofreciendo una guía para una integración robusta de IA en pipelines CI/CD.
Qué puedes hacer
- Evalúa tu pipeline actual de CI para identificar brechas donde faltan pruebas de regresión de comportamiento.
- Experimenta con LLMs para generar pruebas unitarias para funciones complejas, centrándote en casos límite derivados de la intención del código.
- Implementa una capa de filtrado para pruebas generadas por IA usando reglas estáticas simples antes de involucrar a revisores humanos.
- Define criterios claros para lo que constituye un cambio "riesgoso" en tu base de código para priorizar los esfuerzos de pruebas automatizadas.
- Adopta una mentalidad de supervisión humana agregando los hallazgos de IA para revisión por lotes en lugar de interrumpir a los desarrolladores por cada ítem.
- Lee el artículo “Just-in-Time Catching Test Generation at Meta” para entender los detalles arquitectónicos de los flujos de trabajo de diff sospechosa y consciente de la intención.



