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
Previsione dei Difetti Software utilizzando il Modello Autoencoder Transformer
Questo articolo propone un metodo di ingegneria della qualità basato su AI-ML che migliora la valutazione della qualità del software attraverso la previsione dei difetti. Affrontando le difficoltà dei modelli ML esistenti nel gestire dati rumorosi, squilibrio dei dati, riconoscimento di pattern, estrazione di caratteristiche e generalizzazione, è stato sviluppato il modello Quantum Variational Autoencoder-Transformer (QVAET) basato su Adaptive Differential Evolution (ADE) (ADE-QVAET). Il modello combina l'ottimizzazione ADE e l'architettura QVAET per acquisire caratteristiche latenti ad alta dimensionalità mantenendo le dipendenze sequenziali, migliorando così l'accuratezza della previsione dei difetti. Con un rapporto di addestramento del 90%, ADE-QVAET ha raggiunto un'accuratezza del 98,08%, una precisione del 92,45%, un richiamo del 94,67% e un punteggio F1 del 98,12%.
Costi elevati dei test software: I test software negli ambienti aziendali affrontano sfide dovute a dati complessi e requisiti aziendali, con ingegneri della qualità che spendono il 30-40% del tempo in esecuzione manuale dei test
Prevenzione dei difetti insufficiente: I metodi di test tradizionali si basano sulla scoperta di errori dopo lo sviluppo, trascurando i potenziali guasti che potrebbero essere prevenuti più precocemente
Accuratezza del modello insufficiente: Le tecnologie AI-ML esistenti hanno un'accuratezza di previsione dei difetti inferiore all'80%
Isolamento della conoscenza: La conoscenza dei test storici è limitata all'expertise individuale, non rappresentando un asset organizzativo
Nei sistemi aziendali complessi come il cloud computing, i microservizi, l'IoT e l'implementazione dell'AI, la logica aziendale complessa e le dipendenze tecnologiche creano una complessità esponenziale, con i metodi tradizionali che affrontano limitazioni come allucinazioni, generazione di contesto insufficiente e perdita di relazioni aziendali critiche durante il processo di recupero.
Proposta del modello ADE-QVAET: Prima unificazione di adaptive differential evolution, quantum variational autoencoder e architettura Transformer in un singolo framework
Sviluppo del framework di preprocessing ANRA: Framework di riduzione adattiva del rumore e aumento dei dati che migliora la qualità dei dati e l'equilibrio delle classi
Implementazione dell'ottimizzazione dinamica degli iperparametri: L'algoritmo ADE regola dinamicamente il fattore di scala e il tasso di crossover in base alle prestazioni evolutive delle soluzioni candidate
Raggiungimento di miglioramenti significativi delle prestazioni: Accuratezza aumentata del 7,73%, precisione aumentata del 18,63% rispetto ai modelli DE tradizionali
Input: Dataset di previsione dei difetti software contenente attributi di codice statico, indice di manutenibilità, complessità ciclomatica, linee di codice, caratteristiche di flusso del codice, ecc.
Output: Risultato di classificazione binaria (modulo difettoso/modulo non difettoso)
Obiettivo: Massimizzare l'accuratezza, la precisione, il richiamo e il punteggio F1 della previsione dei difetti
Dataset di input: D = {x₁, x₂, ..., xₙ}
Dati dopo preprocessing: D' = ANRA(D)
Il framework ANRA bilancia le istanze difettose e non difettose attraverso riduzione del rumore, eliminazione di informazioni ridondanti e generazione di dati sintetici.
Rispetto ai VAE tradizionali, QVAE sfrutta i principi del calcolo quantistico per estrarre caratteristiche latenti più ricche e ad alta dimensionalità, catturando pattern complessi difficili da identificare con metodi classici.
Operazione di mutazione: v_{i,g+1} = x_{r1,g} + F × (x_{r2,g} - x_{r3,g})
Operazione di crossover: u_{j,i,g+1} = {v_{j,i,g+1} if rand(0,1) ≤ CR, x_{j,i,g} otherwise}
Operazione di selezione: x_{i,g+1} = u_{i,g+1} if f(u_{i,g+1}) ≤ f(x_{i,g})
ADE regola dinamicamente F (fattore di scala) e CR (tasso di crossover) in base all'evoluzione della popolazione, raggiungendo un equilibrio tra esplorazione e sfruttamento.
Funzione obiettivo: θ* = argmin f(θ), dove θ include iperparametri critici come tasso di apprendimento, coefficiente di regolarizzazione, numero di strati, ecc.
Fonte dei dati: Dataset di previsione dei difetti software da Kaggle
Caratteristiche: Linee di codice (LOC), complessità ciclomatica, profondità dell'albero di ereditarietà (DIT), accoppiamento tra oggetti (CBO) e altri elementi strutturali
Etichette: Classificazione binaria (difetto=1, non difetto=0)
Sfide: Problema di squilibrio delle classi, con frequenza inferiore dei moduli difettosi
Metodi di machine learning tradizionali: Khalid et al. utilizzano il clustering K-means per migliorare la previsione dei difetti, ma con elevato overhead computazionale
Ottimizzazione con algoritmi evolutivi: Tang et al. propongono l'algoritmo AVSSA per gestire dati sbilanciati, ma con elevata complessità di integrazione
Metodi di deep learning: Khleel et al. combinano CNN e GRU, richiedendo grandi quantità di calcolo e generazione di dati sintetici
Tecniche di selezione delle caratteristiche: Mehmood et al. sviluppano metodi ML basati sulla selezione delle caratteristiche, ma con rischio di perdita di informazioni
Questo articolo cita 21 riferimenti correlati, principalmente includenti:
Metodi di machine learning per la previsione dei difetti software
Applicazione di algoritmi evolutivi nell'ingegneria del software
Tecnologie di machine learning quantistico
Applicazione del deep learning nell'analisi del codice
Valutazione Complessiva: Questo è un articolo con forte innovazione tecnologica che integra con successo molteplici tecnologie all'avanguardia nel problema della previsione dei difetti software. Sebbene vi sia spazio per miglioramenti nell'analisi teorica e nella completezza della verifica, il suo valore pratico e i miglioramenti delle prestazioni sono molto significativi, con importanza notevole nel promuovere l'applicazione dell'AI nell'ingegneria della qualità del software.