Autori
Yi Ji (1), Simon Mak (2), Ryan Lekivetz (1) e Joseph Morgan (1)
Affiliazioni
(1) JMP Statistical Discovery LLC
(2) Duke University, Durham, NC
Giornale
22° Simposio internazionale ACM-IEEE 2024 su metodi e modelli formali per la progettazione di sistemi (MEMOCODE)
Data di pubblicazione
2024
Astratto
Il test del software è essenziale per lo sviluppo affidabile e robusto di sistemi software complessi. Questo è particolarmente critico per i sistemi ciberfisici (CPS), che richiedono test rigorosi prima dell'implementazione. La complessità di questi sistemi limita l'uso di metodi di verifica formali. Inoltre, il test e la localizzazione dei guasti possono essere molto costosi. Per mitigare questo costo, in questo lavoro descriviamo un framework olistico di progettazione di casi di test e localizzazione dei guasti (MaLT) guidato dall'apprendimento automatico, che sfrutta i recenti metodi di apprendimento automatico probabilistico per accelerare il test di sistemi software complessi. MaLT si compone di tre fasi: (i) la costruzione di una suite di casi di test utilizzando un array di copertura per il test iniziale, (ii) l'indagine delle probabilità di causa radice a posteriori tramite una procedura bayesiana di localizzazione dei guasti, quindi (iii) l'uso di tale analisi bayesiana per guidare la selezione dei casi di test successivi tramite apprendimento attivo. Il framework MaLT proposto può quindi facilitare l'identificazione efficiente e la successiva diagnosi dei guasti software con un numero limitato di esecuzioni di test. Questo framework ha il potenziale per essere integrato con un approccio di oracolo di test basato su asserzioni, che potrebbe rivelarsi un modo efficiente ed economico per integrare metodi formali leggeri con i test.
Citazione
Ji, Y., Mak, S., Lekivetz, R. e Morgan, J., 2024, ottobre. MaLT: Progettazione di casi di test guidati dall'apprendimento automatico e localizzazione degli errori di sistemi software complessi. In22° Simposio internazionale ACM-IEEE 2024 su metodi e modelli formali per la progettazione di sistemi (MEMOCODE)(pagine 58-62). IEEE, https://doi.org/10.1109/MEMOCODE63347.2024.00011 .