ARISE: A Repository-level Graph Representation and Toolset for Agentic Fault Localization and Program Repair
ARISE es un framework a nivel de repositorio que mejora los agentes basados en LLM para la localización de fallos y la reparación de programas mediante la introducción de un grafo de programa de multi-granularidad con aristas de flujo de datos intra-procedimentales y una API de rebanado consultable, logrando mejoras significativas en la precisión de localización y en las tasas de éxito de reparación en el benchmark SWE-bench Lite.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que eres un detective intentando resolver un crimen en una ciudad masiva y extensa (el repositorio de software). La ciudad tiene miles de edificios (archivos), cada uno con cientos de habitaciones (funciones), y dentro de esas habitaciones hay incontables muebles y documentos (líneas de código).
Tu trabajo es encontrar el documento específico que contiene la mentira (el error) que provoca el fallo en la red eléctrica de la ciudad, y luego reescribir ese documento para solucionarlo.
El Problema: Perderse en la Ciudad
En el pasado, los detectives (agentes de IA) que intentaban resolver estos casos tenían dos problemas principales:
- Solo tenían un mapa de los edificios: Sabían qué edificio estaba junto a cuál, y qué edificio tenía una puerta que llevaba a otro. Pero no sabían cómo se movía la información dentro de las habitaciones.
- Tenían que leerlo todo: Para encontrar la mentira, a menudo tenían que leer libros enteros o escanear cada página individual en un edificio, con la esperanza de tropezar con la pista. Esto era lento, costoso y a menudo los llevaba a la habitación equivocada.
La Solución: ARISE (El Kit de Herramientas del Super-Detective)
Los autores crearon un nuevo sistema llamado ARISE. Piensa en ARISE como darle al detective un mapa 3D interactivo y superpoderoso de la ciudad que no solo muestra los edificios, sino que también muestra exactamente cómo una pieza específica de evidencia (una variable) se mueve de un documento a otro dentro de una habitación.
Así funciona ARISE, desglosado en tres herramientas simples:
1. El Mapa Estructural (Nivel 1)
Este es el "mapa de edificios". Le dice al detective: "Este archivo contiene esta clase, que llama a esa función". Es como saber que la Biblioteca está conectada con la Escuela. Esto ayuda al detective a reducir la búsqueda a qué edificio buscar, pero no le dice qué página del libro está mal.
2. La Herramienta "Sigue el Dinero" (Nivel 2 - La Gran Innovación)
Esta es la parte mágica. En los viejos tiempos, si un detective encontraba un número sospechoso en un documento, tenía que pasar manualmente todas las páginas anteriores y posteriores para ver de dónde venía ese número o a dónde iba.
ARISE introduce una herramienta llamada Rebanado de Flujo de Datos. Imagina que tienes una lupa mágica. Apuntas a un número específico en un documento y dices: "Muéstrame todo lo que tocó ese número".
- Rebanado hacia atrás: La lupa resalta instantáneamente cada oración que creó o cambió ese número.
- Rebanado hacia adelante: Resalta cada oración que usó ese número más tarde.
En lugar de leer 50 páginas, el detective obtiene una sola lista resaltada con solo las 5 o 6 oraciones que realmente importan. Esto es como poder rastrear instantáneamente una gota de agua específica desde un grifo hasta el lavabo, ignorando el resto de la tubería.
3. La Carpeta de Evidencias (Nivel 3)
Una vez que el detective ha encontrado las oraciones sospechosas, tiene que juntarlas en un informe para corregir el error. A veces, el informe se vuelve demasiado largo y el cerebro del detective (el modelo de IA) se abruma.
Esta herramienta actúa como un bibliotecario inteligente. Toma todas las oraciones resaltadas, las clasifica por importancia y las empaqueta en una "Carpeta de Evidencias" ordenada y concisa que encaja perfectamente en la mochila del detective (el límite de memoria). Esto asegura que el detective vea las pistas más importantes primero.
Los Resultados: ¿Funcionó?
Los investigadores probaron este nuevo sistema en 300 "crímenes" reales (errores) de proyectos de software populares. Compararon ARISE con un detective estándar (el agente SWE) que solo tenía las herramientas básicas.
- Encontrar la Escena del Crimen: El detective estándar pudo adivinar el edificio (archivo) correcto aproximadamente el 57% de las veces. ARISE lo acertó el 67% de las veces.
- Encontrar la Habitación Exacta: El detective estándar adivinó la habitación (función) correcta el 43% de las veces. ARISE saltó al 60%.
- Encontrar la Oración Exacta: El detective estándar encontró la línea de código correcta el 26% de las veces. ARISE mejoró esto al 41%.
Lo más importante es que, como el detective podía encontrar el problema exacto más rápido y con mayor precisión, pudo corregir el error con éxito el 22% de las veces, en comparación con solo el 17% para el detective estándar.
Conclusiones Clave del Artículo
- La estructura no es suficiente: Solo saber cómo se conectan los archivos no es suficiente; necesitas saber cómo se mueven los datos dentro del código.
- La "Lupa Mágica" es la clave: La mayor mejora provino de la herramienta de Rebanado de Flujo de Datos. Permitió que la IA saltara las conjeturas y fuera directamente a la fuente del problema.
- No hace falta un traductor: Los investigadores probaron agregar un paso donde una IA más pequeña resumiría los datos en inglés sencillo para el detective principal. Descubrieron que esto era innecesario. El detective principal (un modelo de IA grande) podía leer los datos crudos y estructurados perfectamente. Agregar el paso de resumen solo desperdiciaba tiempo y dinero.
- El Límite: El sistema es excelente para encontrar problemas dentro de una sola habitación. Sin embargo, si el problema comienza en una habitación, se pasa a la habitación de un vecino y provoca un fallo allí, el detective a veces se confunde. Esta es el área que los autores dicen que necesita más trabajo en el futuro.
En resumen, ARISE le da a los agentes de IA una forma de "rastrear el hilo" de una variable a través del código, convirtiendo una búsqueda de una aguja en un pajar en un camino directo hacia la solución.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.