Ha riscosso l’interesse di Mark Zuckerberg e soci un sistema innovativo per testare nuovi software, ideato da Emilio Cruciani e Roberto Verdecchia, dottorandi in informatica del GSSI-Gran Sasso Science Institute dell’Aquila, insieme al prof. Breno Miranda (Università di Pernambuco) e alla dirigente di ricerca Antonia Bertolino (ISTI-CNR).
Il loro progetto “Static prediction of test flakiness”, selezionato dal social network statunitense tra le oltre 100 candidature pervenute, ha ricevuto il premio “Facebook Testing and Verification”, consistente in una somma di denaro di 50 mila dollari. I premiati saranno invitati a esporre pubblicamente la proposta vincente in occasione del secondo Facebook TAV Symposium, che si terrà nella sede di Londra della compagnia social il 20 e 21 novembre.
10 in totale i progetti che saranno premiati nel corso della due giorni londinese, per un totale di 23 ricercatori da tutto il mondo, 10 dei quali italiani.
L’interesse industriale di grandi aziende come Facebook nei confronti dell’approccio sviluppato da Bertolino, Cruciani, Miranda e Verdecchia risiede nella sua capacità di ridurre drasticamente i tempi e i costi richiesti per il software testing, ovvero per collaudare nuovi programmi e app. Le multinazionali del software lanciano milioni di test al giorno per verificare il corretto funzionamento dei programmi da loro sviluppati. Quando questi collaudi falliscono, gli sviluppatori vanno alla ricerca di un’eventuale bug da correggere. Tuttavia molte volte l’esito fallimentare dei test non dipende da un difetto dell’architettura software, ma è del tutto accidentale. È proprio questa l’insidia dei cosiddetti test flaky – ovvero “friabili” – che affligge l’industria del software, costretta a investire tempo e risorse alla ricerca di bug spesso inesistenti.
“Il sistema di predizione statica da noi ideato è il primo a permettere di riconoscere in partenza quali test sono rivelatori di reali bug e quali no: siamo in grado di predirlo con un grado di certezza molto elevato grazie a un algoritmo che misura la similarità di ogni nuovo test con altri già noti per essere flaky”, spiega Emilio Cruciani. “Per calcolare il grado di somiglianza tra diversi test, li rappresentiamo in uno spazio a decine di dimensioni e misuriamo la distanza tra i punti da loro occupati all’interno di questo sistema di coordinate: ad esempio, se un test si trova in una zona ad alta densità di test flaky, è estremamente probabile che lo sia anch’esso”, precisa Roberto Verdecchia.