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
Prédiction des défauts logiciels utilisant le modèle Autoencoder Transformer
Cet article propose une approche d'ingénierie de la qualité basée sur l'IA-ML pour améliorer l'évaluation de la qualité logicielle par la prédiction des défauts. Face aux difficultés des modèles ML existants à traiter les données bruitées, le déséquilibre des données, la reconnaissance de motifs, l'extraction de caractéristiques et la généralisation, nous avons développé un modèle d'autoencodeur variationnel quantique-Transformer (QVAET) basé sur l'évolution différentielle adaptative (ADE) (ADE-QVAET). Ce modèle combine l'optimisation ADE et l'architecture QVAET pour extraire des caractéristiques latentes de haute dimension tout en préservant les dépendances séquentielles, améliorant ainsi la précision de la prédiction des défauts. Avec un ratio d'entraînement de 90%, ADE-QVAET atteint une précision de 98,08%, une exactitude de 92,45%, un rappel de 94,67% et un score F1 de 98,12%.
Coûts élevés des tests logiciels: Les tests logiciels en environnement d'entreprise font face aux défis des données complexes et des exigences métier, les ingénieurs qualité devant consacrer 30-40% de leur temps à l'exécution manuelle des tests
Prévention insuffisante des défauts: Les méthodes de test traditionnelles dépendent de la découverte des erreurs après le développement, négligeant les défaillances potentielles qui pourraient être prévenues plus tôt
Précision insuffisante des modèles: Les technologies IA-ML existantes ont une précision inférieure à 80% pour la prédiction des défauts
Isolement des connaissances: Les connaissances historiques des tests sont limitées aux compétences individuelles plutôt que d'être des actifs organisationnels
Dans les systèmes d'entreprise complexes tels que l'informatique en nuage, les microservices, l'IoT et les implémentations d'IA, la logique métier complexe et les dépendances technologiques créent une complexité exponentielle, et les méthodes traditionnelles font face à des limitations telles que les hallucinations, l'insuffisance de la génération contextuelle et la perte de relations métier critiques lors du processus de récupération.
Proposition du modèle ADE-QVAET: Première unification de l'évolution différentielle adaptative, de l'autoencodeur variationnel quantique et de l'architecture Transformer dans un cadre unique
Développement du cadre de prétraitement ANRA: Cadre de réduction adaptative du bruit et d'augmentation des données pour améliorer la qualité des données et l'équilibre des classes
Implémentation de l'optimisation dynamique des hyperparamètres: L'algorithme ADE ajuste dynamiquement le facteur d'échelle et le taux de croisement en fonction des performances évolutives des solutions candidates
Amélioration significative des performances: Augmentation de 7,73% de la précision et de 18,63% de l'exactitude par rapport aux modèles DE traditionnels
Entrée: Ensemble de données de prédiction des défauts logiciels contenant des attributs de code statique, des indices de maintenabilité, la complexité cyclomatique, le nombre de lignes de code, les caractéristiques de flux de code, etc.
Sortie: Résultat de classification binaire (module défectueux/module sans défaut)
Objectif: Maximiser la précision, l'exactitude, le rappel et le score F1 de la prédiction des défauts
Ensemble de données d'entrée: D = {x₁, x₂, ..., xₙ}
Données prétraitées: D' = ANRA(D)
Le cadre ANRA équilibre les instances défectueuses et non défectueuses par la réduction du bruit, l'élimination des informations redondantes et la génération de données synthétiques.
Transformer traite les caractéristiques latentes, identifiant les dépendances séquentielles et les relations contextuelles entre les métriques logicielles.
Comparé aux VAE traditionnels, QVAE exploite les principes de l'informatique quantique pour extraire des caractéristiques latentes de haute dimension plus riches, capable de capturer des motifs complexes difficiles à identifier par les méthodes classiques.
Opération de mutation: v_{i,g+1} = x_{r1,g} + F × (x_{r2,g} - x_{r3,g})
Opération de croisement: u_{j,i,g+1} = {v_{j,i,g+1} if rand(0,1) ≤ CR, x_{j,i,g} otherwise}
Opération de sélection: x_{i,g+1} = u_{i,g+1} if f(u_{i,g+1}) ≤ f(x_{i,g})
ADE ajuste dynamiquement F (facteur d'échelle) et CR (taux de croisement) en fonction de l'évolution de la population, réalisant l'équilibre entre l'exploration et l'exploitation.
Fonction objectif: θ* = argmin f(θ), où θ inclut les hyperparamètres clés tels que le taux d'apprentissage, le coefficient de régularisation, le nombre de couches, etc.
Source de données: Ensemble de données Kaggle de prédiction des défauts logiciels
Caractéristiques: Nombre de lignes de code (LOC), complexité cyclomatique, profondeur de l'arborescence d'héritage (DIT), couplage entre objets (CBO) et autres éléments structurels
Étiquettes: Classification binaire (défaut=1, sans défaut=0)
Défi: Problème de déséquilibre des classes, fréquence d'apparition plus faible des modules défectueux
Méthodes d'apprentissage automatique traditionnelles: Khalid et al. utilisent le clustering K-means pour améliorer la prédiction des défauts, mais avec un coût informatique élevé
Optimisation par algorithmes évolutionnaires: Tang et al. proposent l'algorithme AVSSA pour traiter les données déséquilibrées, mais avec une complexité d'intégration élevée
Méthodes d'apprentissage profond: Khleel et al. combinent CNN et GRU, nécessitant beaucoup de calculs et de génération de données synthétiques
Techniques de sélection de caractéristiques: Mehmood et al. développent des méthodes ML basées sur la sélection de caractéristiques, mais avec risque de perte d'informations
Percée technologique: ADE-QVAET intègre avec succès les avantages de l'informatique quantique, de l'apprentissage profond et des algorithmes évolutionnaires
Performance supérieure: Dépasse significativement les méthodes existantes sur plusieurs métriques
Valeur pratique: Fournit une solution évolutive pour l'ingénierie de la qualité pilotée par l'IA
Complexité informatique: L'autoencodeur variationnel quantique et l'architecture Transformer nécessitent toujours des ressources informatiques considérables
Dépendance aux données: Les performances du modèle dépendent fortement de données prétraitées de haute qualité
Interprétabilité: En tant que modèle d'apprentissage profond, il conserve une caractéristique de boîte noire
Validation de la généralisation: Nécessite une validation de la capacité de généralisation sur plus de types différents de projets logiciels
Intégration de l'apprentissage par renforcement: Combiner l'apprentissage profond et l'apprentissage par renforcement pour prévenir les problèmes logiciels
Intégration en temps réel: Intégration en temps réel avec les systèmes de contrôle de version et les pipelines CI/CD
Amélioration de l'interprétabilité: Développer des outils de test pilotés par l'IA plus interprétables
Optimisation pour l'informatique en périphérie: Compression et optimisation des modèles pour les environnements aux ressources limitées
Forte innovativité méthodologique: Première unification de l'informatique quantique, de l'autoencodeur variationnel, de Transformer et de l'algorithme d'évolution adaptative
Conception expérimentale complète: Expériences de comparaison complètes avec plusieurs cycles et plusieurs références
Amélioration significative des performances: Améliorations évidentes sur tous les indicateurs clés
Valeur d'application pratique: Recherche industrielle d'Apple avec potentiel de déploiement réel
Applications de l'apprentissage profond dans l'analyse de code
Évaluation globale: Cet article présente une forte innovativité technologique, intégrant avec succès plusieurs technologies de pointe pour résoudre le problème de la prédiction des défauts logiciels. Bien qu'il y ait de la place pour l'amélioration dans l'analyse théorique et l'exhaustivité de la vérification, sa valeur pratique et son amélioration des performances sont très significatifs, ayant une importance importante pour promouvoir l'application de l'IA en ingénierie de la qualité logicielle.