Que es
Útil de endurecimiento de cumplimiento automatizado de Meta (ACH) es un sistema para la reproducción de pruebas basada en mutaciones, basada en LLM. ACH endurece las plataformas contra las regresiones generando fallas no detectadas (mutantes) en el código fuente que son específicos de un radio de preocupación determinada y utilizando esos mismos mutantes para originar pruebas. Cuando se aplica a la privacidad, por ejemplo, ACH automatiza el proceso de búsqueda de fallas relacionadas con la privacidad y evita que ingresen a nuestros sistemas en el futuro, En última instancia, deshumanizar nuestras bases de código para achicar el peligro de cualquier regresión de privacidad.
ACH genera automáticamente pruebas unitarias que se dirigen a un tipo particular de equivocación. Describimos las fallas que nos importan en texto plano. La descripción puede estar incompleta e incluso autocontradictory, pero ACH todavía genera pruebas que demuestra que atraparán errores del tipo descrito.
Tradicionalmente, las técnicas automatizadas de reproducción de pruebas buscaban simplemente aumentar la cobertura del código. Como cada probador sabe, esto es solo una parte de la posibilidad porque el aumento de la cobertura no necesariamente encuentra fallas.
ACH es una desviación radical de esta tradición, ya que se dirige a fallas específicas, en empleo de un código descubierto, aunque a menudo asimismo aumenta la cobertura en el proceso de fallas de orientación. Encima, porque ACH se fundamento en los principios de Asegurada de ingeniería de software basada en LLMmantiene garantías verificables de que sus pruebas atrapen el tipo de fallas descritas.
Nuestro nuevo trabajo de investigación, «Reproducción de pruebas basada en la LLM guiada por mutación en Meta«, Proporciona detalles de las bases científicas subyacentes para ACH y cómo aplicamos ACH a las pruebas de privacidad, pero este enfoque puede aplicarse a cualquier tipo de prueba de regresión.
Cómo funciona
Pruebas de mutación, donde las fallas (mutantes) se introducen deliberadamente en el código fuente (utilizando el control de versiones para mantenerlas alejadas de la producción) para evaluar qué tan acertadamente se puede detectar un entorno de prueba existente, investigado durante décadas. Pero, a pesar de esto, las pruebas de mutación han sido difíciles de desplegar.
En enfoques anterioreslos mutantes mismos se generarían automáticamente (con maduro frecuencia utilizando un enfoque basado en reglas). Pero este método daría como resultado mutantes que no eran particularmente realistas en términos de cuánta preocupación efectivamente representan.
Encima de eso, incluso con los mutantes generados automáticamente, los humanos aún tendrían que escribir manualmente las pruebas que matarían a los mutantes (atrapar las fallas).
Escribir estas pruebas es un proceso minucioso y arduo. Por lo tanto, los ingenieros se enfrentaron con un problema de dos puntas: incluso luego de hacer todo el trabajo para escribir una prueba para atrapar a un mutante, no había seguro de que la prueba incluso atrapara al mutante generado automáticamente.
Al explotar las LLM, podemos originar mutantes que representan preocupaciones realistas y asimismo guardar en el trabajo humano al originar pruebas para detectar las fallas automáticamente asimismo. ACH combina técnicas automatizadas de reproducción de pruebas con las capacidades de los modelos de idiomas grandes (LLM) para originar mutantes que son en gran medida relevantes para un radio de preocupación de pruebas, así como pruebas que están garantizadas para atrapar errores que efectivamente importan.
En términos generales, ACH funciona en tres pasos:
- Un ingeniero describe el tipo de errores que les preocupa.
- ACH usa esa descripción para originar automáticamente muchos errores.
- ACH usa los errores generados para originar automáticamente muchas pruebas que los atrapan.
En Meta tenemos Pruebas asistidas por ACH aplicadas a varias de nuestras plataformasincluyendo Facebook Feed, Instagram, Messenger y WhatsApp. Según nuestras propias pruebas, hemos concluido que los ingenieros encontraron bártulos para deshumanizar el código contra preocupaciones específicas y encontraron otros beneficios, incluso cuando las pruebas generadas por ACH no abordan directamente una preocupación específica.

Por que importa
Meta tiene una gran cantidad de sistemas de datos y usos muchos lenguajes de programación diferentesmarcos y servicios para proveer a nuestra clan de aplicaciones y productos. Pero, ¿cómo se aseguran nuestros miles de ingenieros en todo el mundo que su código sea confiable y no genere errores que afecten negativamente el rendimiento de la aplicación, lo que lleva al peligro de privacidad? La respuesta se encuentra con LLMS.
La reproducción de pruebas basada en LLM y la reproducción mutante basada en LLM no son nuevas, pero esta es la primera vez que se combinan e implementan en sistemas industriales a gran escalera. Producir mutantes y las pruebas para matarlos han sido tradicionalmente procesos difíciles de escalera. Transmitido que los LLM son probabilísticos y no necesitan echarse en brazos en reglas rígidamente definidas para tomar decisiones, nos permiten encarar los dos lados de esta ecuación, generando mutaciones y pruebas para matarlas, de guisa muy capaz y con un detención nivel de precisión.
Este nuevo enfoque moderniza significativamente esta forma de reproducción de pruebas automatizadas y ayuda a los ingenieros de software a disfrutar de una variedad de fuentes (fallas anteriores, colegas, requisitos del afortunado, requisitos reglamentarios, etc.) y convertirlas de guisa capaz del texto de forma vaco en pruebas procesables, con La seguro de que la prueba detectará la omisión que están buscando.
ACH se puede aplicar a cualquier clase de fallas y tener un impacto significativo en el endurecimiento contra futuras regresiones y optimizar las pruebas en sí.
¿Qué sigue?
Nuestro enfoque novedoso combina la reproducción de pruebas y la reproducción mutantes basada en LLM para ayudar a automatizar flujos de trabajo organizacionales técnicos complejos en este espacio. Esta innovación tiene el potencial de simplificar las evaluaciones de riesgos, achicar la carga cognitiva para los desarrolladores y, en última instancia, crear un ecosistema en lista más seguro. Estamos comprometidos a expandir las áreas de implementación, desarrollar métodos para valorar la relevancia mutante y detectar fallas existentes para impulsar la apadrinamiento de la reproducción de pruebas automatizada en toda la industria en cumplimiento.
Compartiremos más desarrollos y lo alentaremos a ver este espacio.
Percibir el boletín
Reproducción de pruebas basada en la LLM guiada por mutación en Meta