GraphLocator: Razonamiento Causal Guiado por Grafos para Localización de Fallos
GraphLocator: Graph-guided Causal Reasoning for Issue Localization
December 27, 2025
Autores: Wei Liu, Chao Peng, Pengfei Gao, Aofan Liu, Wei Zhang, Haiyan Zhao, Zhi Jin
cs.AI
Resumen
La tarea de localización de incidencias tiene como objetivo identificar las ubicaciones en un repositorio de software que requieren modificación dada una descripción de la incidencia en lenguaje natural. Esta tarea es fundamental pero desafiante en la ingeniería de software automatizada debido a la brecha semántica entre la descripción de la incidencia y la implementación del código fuente. Esta brecha se manifiesta como dos desajustes: (1) desajustes síntoma-causa, donde las descripciones no revelan explícitamente las causas raíz subyacentes; (2) desajustes uno-a-muchos, donde una sola incidencia corresponde a múltiples entidades de código interdependientes. Para abordar estos dos desajustes, proponemos GraphLocator, un enfoque que mitiga los desajustes síntoma-causa mediante el descubrimiento de estructura causal y resuelve los desajustes uno-a-muchos mediante el desentrelazado dinámico de incidencias. El artefacto clave es el grafo causal de incidencias (CIG), en el que los vértices representan las subincidencias descubiertas junto con sus entidades de código asociadas, y las aristas codifican las dependencias causales entre ellas. El flujo de trabajo de GraphLocator consta de dos fases: localización de vértices síntoma y descubrimiento dinámico del CIG; primero identifica las ubicaciones de los síntomas en el grafo del repositorio, luego expande dinámicamente el CIG razonando iterativamente sobre los vértices vecinos. Los experimentos en tres conjuntos de datos del mundo real demuestran la efectividad de GraphLocator: (1) En comparación con los baselines, GraphLocator logra una localización más precisa con mejoras promedio de +19.49% en la exhaustividad a nivel de función y +11.89% en la precisión. (2) GraphLocator supera a los baselines tanto en escenarios de desajuste síntoma-causa como uno-a-muchos, logrando una mejora en la exhaustividad de +16.44% y +19.18%, y una mejora en la precisión de +7.78% y +13.23%, respectivamente. (3) El CIG generado por GraphLocator produce la mayor mejora relativa, resultando en un aumento del 28.74% en el rendimiento de la tarea de resolución posterior.
English
The issue localization task aims to identify the locations in a software repository that requires modification given a natural language issue description. This task is fundamental yet challenging in automated software engineering due to the semantic gap between issue description and source code implementation. This gap manifests as two mismatches:(1) symptom-to-cause mismatches, where descriptions do not explicitly reveal underlying root causes; (2) one-to-many mismatches, where a single issue corresponds to multiple interdependent code entities. To address these two mismatches, we propose GraphLocator, an approach that mitigates symptom-to-cause mismatches through causal structure discovering and resolves one-to-many mismatches via dynamic issue disentangling. The key artifact is the causal issue graph (CIG), in which vertices represent discovered sub-issues along with their associated code entities, and edges encode the causal dependencies between them. The workflow of GraphLocator consists of two phases: symptom vertices locating and dynamic CIG discovering; it first identifies symptom locations on the repository graph, then dynamically expands the CIG by iteratively reasoning over neighboring vertices. Experiments on three real-world datasets demonstrates the effectiveness of GraphLocator: (1) Compared with baselines, GraphLocator achieves more accurate localization with average improvements of +19.49% in function-level recall and +11.89% in precision. (2) GraphLocator outperforms baselines on both symptom-to-cause and one-to-many mismatch scenarios, achieving recall improvement of +16.44% and +19.18%, precision improvement of +7.78% and +13.23%, respectively. (3) The CIG generated by GraphLocator yields the highest relative improvement, resulting in a 28.74% increase in performance on downstream resolving task.