Software Defect Prediction using Autoencoder Transformer Model
Barma, Hariharan, Arvapalli
An AI-ML-powered quality engineering approach uses AI-ML to enhance software quality assessments by predicting defects. Existing ML models struggle with noisy data types, imbalances, pattern recognition, feature extraction, and generalization. To address these challenges, we develop a new model, Adaptive Differential Evolution (ADE) based Quantum Variational Autoencoder-Transformer (QVAET) Model (ADE-QVAET). ADE combines with QVAET to obtain high-dimensional latent features and maintain sequential dependencies, resulting in enhanced defect prediction accuracy. ADE optimization enhances model convergence and predictive performance. ADE-QVAET integrates AI-ML techniques such as tuning hyperparameters for scalable and accurate software defect prediction, representing an AI-ML-driven technology for quality engineering. During training with a 90% training percentage, ADE-QVAET achieves high accuracy, precision, recall, and F1-score of 98.08%, 92.45%, 94.67%, and 98.12%, respectively, when compared to the Differential Evolution (DE) ML model.
academic
Predicción de Defectos de Software usando Modelo Autoencoder Transformer
Este artículo propone un enfoque de ingeniería de calidad basado en IA-ML que mejora la evaluación de calidad del software mediante la predicción de defectos. Para abordar las dificultades de los modelos ML existentes en el manejo de datos ruidosos, desequilibrio de datos, reconocimiento de patrones, extracción de características y generalización, se desarrolló un modelo de Autoencoder Variacional Cuántico-Transformer (QVAET) basado en Evolución Diferencial Adaptativa (ADE) (ADE-QVAET). El modelo combina optimización ADE y arquitectura QVAET para capturar características latentes de alta dimensión y mantener dependencias de secuencia, mejorando así la precisión de la predicción de defectos. Con una proporción de entrenamiento del 90%, ADE-QVAET alcanzó una precisión del 98.08%, exactitud del 92.45%, exhaustividad del 94.67% y puntuación F1 del 98.12%.
Costo elevado de pruebas de software: Las pruebas de software en entornos empresariales enfrentan desafíos de datos complejos y requisitos comerciales, requiriendo que los ingenieros de calidad dediquen 30-40% de su tiempo a la ejecución manual de pruebas
Prevención insuficiente de defectos: Los métodos de prueba tradicionales dependen de descubrir errores después de la finalización del desarrollo, ignorando posibles fallas que podrían prevenirse más temprano
Precisión insuficiente del modelo: Las tecnologías AI-ML existentes logran una precisión inferior al 80% en la predicción de defectos
Conocimiento aislado: El conocimiento histórico de pruebas se limita a la experiencia individual en lugar de ser un activo organizacional
En sistemas empresariales complejos como computación en la nube, microservicios, IoT e implementaciones de IA, la lógica comercial compleja y las dependencias técnicas crean una complejidad exponencial, enfrentando limitaciones de métodos tradicionales como alucinaciones, generación de contexto insuficiente y pérdida de relaciones comerciales críticas durante procesos de recuperación.
Propuesta del modelo ADE-QVAET: Primera unificación de evolución diferencial adaptativa, autoencoder variacional cuántico y arquitectura Transformer en un único marco
Desarrollo del marco de preprocesamiento ANRA: Marco de reducción de ruido adaptativo y aumento de datos que mejora la calidad de datos y el equilibrio de clases
Implementación de optimización de hiperparámetros dinámicos: El algoritmo ADE ajusta dinámicamente el factor de escala y la tasa de cruce según el rendimiento evolutivo de las soluciones candidatas
Logro de mejoras de rendimiento significativas: Aumento de precisión del 7.73% y exactitud del 18.63% en comparación con modelos DE tradicionales
Entrada: Conjunto de datos de predicción de defectos de software, que contiene atributos de código estático, índices de mantenibilidad, complejidad ciclomática, líneas de código, características de pérdida de código, etc.
Salida: Resultado de clasificación binaria (módulo con defecto/módulo sin defecto)
Objetivo: Maximizar la precisión, exactitud, exhaustividad y puntuación F1 de la predicción de defectos
Conjunto de datos de entrada: D = {x₁, x₂, ..., xₙ}
Datos preprocesados: D' = ANRA(D)
El marco ANRA equilibra instancias con defectos y sin defectos mediante reducción de ruido, eliminación de información redundante y generación de datos sintéticos.
En comparación con VAE tradicional, QVAE aprovecha principios de computación cuántica para extraer características latentes de alta dimensión más ricas, capturando patrones complejos que los métodos clásicos difícilmente pueden identificar.
Operación de mutación: v_{i,g+1} = x_{r1,g} + F × (x_{r2,g} - x_{r3,g})
Operación de cruce: u_{j,i,g+1} = {v_{j,i,g+1} si rand(0,1) ≤ CR, x_{j,i,g} en caso contrario}
Operación de selección: x_{i,g+1} = u_{i,g+1} si f(u_{i,g+1}) ≤ f(x_{i,g})
ADE ajusta dinámicamente F (factor de escala) y CR (tasa de cruce) según la evolución de la población, logrando un equilibrio entre exploración y explotación.
Función objetivo: θ* = argmin f(θ), donde θ incluye hiperparámetros clave como tasa de aprendizaje, coeficientes de regularización, número de capas, etc.
Fuente de datos: Conjunto de datos de predicción de defectos de software de Kaggle
Características: Líneas de código (LOC), complejidad ciclomática, profundidad del árbol de herencia (DIT), acoplamiento entre objetos (CBO) y otros elementos estructurales
Etiquetas: Clasificación binaria (defecto=1, sin defecto=0)
Desafío: Problema de desequilibrio de clases, con baja frecuencia de aparición de módulos defectuosos
Métodos de aprendizaje automático tradicional: Khalid et al. utilizan agrupamiento K-means para mejorar la predicción de defectos, pero con gran costo computacional
Optimización mediante algoritmos evolutivos: Tang et al. proponen algoritmo AVSSA para manejar datos desequilibrados, pero con alta complejidad de integración
Métodos de aprendizaje profundo: Khleel et al. combinan CNN y GRU, requiriendo gran cantidad de computación y generación de datos sintéticos
Técnicas de selección de características: Mehmood et al. desarrollan métodos ML basados en selección de características, pero con riesgo de pérdida de información
Este artículo cita 21 referencias relacionadas, incluyendo principalmente:
Métodos de aprendizaje automático para predicción de defectos de software
Aplicación de algoritmos evolutivos en ingeniería de software
Tecnologías relacionadas con aprendizaje automático cuántico
Aplicación de aprendizaje profundo en análisis de código
Evaluación General: Este es un artículo con fuerte innovación técnica que integra exitosamente múltiples tecnologías de vanguardia en el problema de predicción de defectos de software. Aunque hay espacio para mejora en análisis teórico e integridad de validación, su valor práctico y mejoras de rendimiento son significativos, teniendo importancia importante para impulsar la aplicación de IA en ingeniería de calidad de software.