Tesis Doctorales de la Universidad de Alcalá
REPARACIÓN AUTOMÁTICA DE ERRORES Y VULNERABILIDADES DE CÓDIGO FUENTE MEDIANTE MODELOS DE LENGUAJE
Autor/aFitero Domínguez, David de
DepartamentoCiencias de la Computación
Director/aGarcía López, Eva
Codirector/aGarcía Cabot, Antonio
Fecha de defensa01-07-2026
CalificaciónSobresaliente cum laude
ProgramaIngeniería de la Información y del Conocimiento (RD 99/2011)
Mención internacionalSí
ResumenEsta tesis doctoral estudia la reparación automática de programas (Automated Program Repair, APR) mediante grandes modelos de lenguaje (LLM, por sus siglas en inglés), con especial atención al papel de los datos de entrenamiento. Aunque estos modelos han mejorado notablemente la generación y comprensión de código fuente, su rendimiento en APR sigue limitado por la escasez de datos de calidad, por la dificultad de representar adecuadamente los parches y por evaluaciones que no siempre reflejan bien la capacidad real de generalización. La hipótesis central de la tesis es que, en APR basado en LLMs, el rendimiento depende tanto de los modelos como de la forma en que se construyen, representan y validan los datos de reparación. La investigación se organiza principalmente en tres contribuciones. La primera presenta una herramienta para generar automáticamente conjuntos de datos de código fuente con defectos a partir de SonarQube, extrayendo errores, vulnerabilidades, code smells y security hotspots en formato JSON estructurado. La segunda propone un nuevo formato de representación de parches para la reparación automática de vulnerabilidades en C/C++ y lo evalúa mediante un fine-tuning de Code Llama 7B y Mistral 7B sobre una versión depurada de VulRepair. En esta evaluación, Mistral 7B alcanza un 25,7% de Perfect Prediction en el conjunto de prueba depurado. La tercera contribución aborda la escasez de datos mediante una metodología de self-bootstrapping. En esta parte, varios LLMs generan ejemplos sintéticos de código defectuoso y código corregido. Después, esos ejemplos se evalúan y filtran por consenso entre diferentes modelos antes de usarse para el fine-tuning de un modelo de reparación. Con esta estrategia, la métrica Top@5 mejora del 18,9% al 23,0% respecto al modelo de referencia entrenado solo con datos reales. En conjunto, la tesis concluye que la calidad y depuración de los datos condicionan el rendimiento real de los sistemas APR basados en LLMs, que una evaluación rigurosa basada en conjuntos de prueba bien definidos es indispensable para valorar su capacidad de generalización, y que la generación controlada de datos sintéticos puede aliviar el problema de la escasez de datos en la reparación automática de programas. Estas aportaciones proporcionan herramientas, evidencia empírica y una metodología transferible a futuras investigaciones en la intersección entre la ingeniería del software, la seguridad y el aprendizaje automático.