La predicción de defectos en software es un área crítica dentro del aseguramiento de la calidad. Cuando hablamos de predecir errores en un proyecto que carece de datos históricos propios, recurrimos a la predicción de defectos entre proyectos (Cross-Project Defect Prediction, CPDP). El desafío principal radica en que los datos de entrenamiento provienen de proyectos externos, con distribuciones estadísticas diferentes al proyecto objetivo. Este desajuste de distribución (distribution shift) degrada el rendimiento de los modelos tradicionales, que asumen que los datos de entrenamiento y prueba provienen de la misma distribución. Para abordar este problema, la comunidad investigadora ha propuesto técnicas de adaptación de dominio, selección de instancias y sistemas de clasificadores múltiples. Sin embargo, la mayoría de los enfoques aplican el mismo conjunto de clasificadores a todo el proyecto objetivo, sin considerar que diferentes módulos pueden requerir modelos especializados.
En este artículo presentamos una perspectiva técnica y empresarial original, analizando un marco de selección dinámica multietapa que opera a dos niveles: primero a nivel de proyecto para elegir una configuración de clasificadores múltiples (MCS) que generalice bien sobre los proyectos de entrenamiento, y segundo a nivel de módulo para seleccionar, en tiempo de prueba, los clasificadores más competentes para predecir cada nuevo módulo del proyecto objetivo. Este enfoque es más robusto frente a los cambios de distribución porque la selección se adapta a las características individuales de cada módulo.
Desde una óptica empresarial, implementar este tipo de sistemas en entornos reales de desarrollo de software requiere una infraestructura robusta, integración con pipelines de CI/CD y capacidades de Cloud AWS/Azure para procesar grandes volúmenes de datos de proyectos y ejecutar modelos de forma escalable. En Q2BSTUDIO, ofrecemos soluciones cloud que permiten desplegar modelos de machine learning con alta disponibilidad y costes optimizados.
La propuesta que analizamos utiliza un sistema de clasificadores múltiples con dos etapas de selección. En la primera etapa, se evalúan múltiples configuraciones del MCS (por ejemplo, diferentes combinaciones de clasificadores base como árboles de decisión, SVM, redes neuronales, etc.) para encontrar aquella que maximice la cobertura y la generalización sobre los proyectos de entrenamiento. Esto implica medir métricas como la diversidad entre clasificadores y el rendimiento promedio en validación cruzada. El resultado es un conjunto de clasificadores expertos, cada uno especializado en ciertos patrones de defectos.
En la segunda etapa, cuando un nuevo módulo del proyecto objetivo necesita ser evaluado, se activa un mecanismo de selección dinámica. Para cada módulo, se calcula la competencia de cada clasificador del conjunto mediante métricas de similitud local (por ejemplo, basadas en vecinos cercanos en el espacio de características). Solo los clasificadores con mayor competencia participan en la predicción final, que puede ser una votación ponderada o un stacking. Esta adaptación por módulo mejora significativamente la precisión, ya que un clasificador que funciona bien para módulos con alta complejidad ciclomática puede no ser adecuado para módulos con muchas dependencias externas.
En el contexto de aplicaciones a medida, donde cada proyecto tiene requisitos y patrones de código únicos, esta técnica es particularmente valiosa. Q2BSTUDIO desarrolla software personalizado para empresas, integrando modelos de IA que predicen defectos durante el ciclo de vida del desarrollo. Nuestros equipos utilizan frameworks de CPDP adaptativos para mejorar la calidad del producto final sin depender de datos históricos internos.
La experimentación realizada con 82 proyectos de cuatro conjuntos de datos de referencia (como PROMISE, AEEEM, y otros) muestra que el enfoque de selección dinámica multietapa supera a los métodos CPDP del estado del arte en la mayoría de los escenarios. Las métricas utilizadas incluyen AUC, F1-score y precisión balanceada. Los resultados evidencian que la selección a nivel de módulo reduce el impacto del distribution shift, especialmente cuando los proyectos de entrenamiento y objetivo provienen de dominios muy diferentes (por ejemplo, un sistema de gestión bancaria frente a una aplicación de comercio electrónico).
Desde el punto de vista de la ciberseguridad, predecir defectos no solo mejora la estabilidad del software, sino que también ayuda a identificar vulnerabilidades antes de que sean explotadas. Muchos defectos de seguridad tienen su origen en errores de código que podrían haber sido detectados con modelos CPDP. En Q2BSTUDIO integramos auditorías de código con sistemas de predicción de defectos para ofrecer un servicio integral de ciberseguridad.
Además, la incorporación de IA y agentes inteligentes en el proceso de CPDP permite automatizar la selección de modelos y la adaptación continua. Nuestros agentes IA pueden monitorizar el rendimiento de los clasificadores en tiempo real y reconfigurar el MCS sin intervención humana. Esto es especialmente útil en entornos DevOps donde los modelos deben actualizarse frecuentemente con nuevos datos de proyectos.
Otro aspecto relevante es el uso de BI/Power BI para visualizar las predicciones de defectos y las métricas de calidad del código. Los dashboards interactivos permiten a los equipos de desarrollo identificar rápidamente los módulos con mayor riesgo y priorizar las revisiones de código. Q2BSTUDIO implementa soluciones de Business Intelligence que integran datos de repositorios, sistemas de CI y modelos de CPDP para proporcionar una visión global del estado del proyecto.
La implementación técnica de este marco requiere manejar grandes volúmenes de datos de características de código (métricas estáticas, dinámicas, de complejidad, acoplamiento, etc.). Para ello, las capacidades de Cloud AWS/Azure son fundamentales. Utilizamos servicios como AWS SageMaker o Azure Machine Learning para entrenar y desplegar los clasificadores, y bases de datos escalables como Amazon Redshift o Azure Synapse para almacenar las métricas. En Q2BSTUDIO ofrecemos consultoría para migrar y optimizar estas infraestructuras cloud, garantizando que los modelos CPDP se ejecuten con baja latencia y alta disponibilidad.
En conclusión, la selección dinámica multietapa para CPDP representa un avance significativo frente a los métodos tradicionales. Al adaptar la selección de clasificadores a cada módulo, se logra una mayor robustez frente a los cambios de distribución. Las empresas que adoptan este tipo de técnicas pueden reducir el tiempo de detección de defectos, disminuir los costes de mantenimiento y mejorar la calidad del software entregado. En Q2BSTUDIO, combinamos experiencia en desarrollo de aplicaciones a medida, inteligencia artificial, cloud computing y ciberseguridad para ofrecer soluciones completas que integran estas capacidades avanzadas.




