Droidbugs: un nuovo punto di riferimento per valutare i metodi di riparazione automatizzata per le app Android

Droidbugs: un nuovo benchmark per valutare i metodi di riparazione automatizzata per le app Android
Credito: Azevedo, Dantas & Camilo

La riparazione automatizzata dei programmi (APR) è un campo di ricerca emergente che si propone di sviluppare metodi per correggere automaticamente i bug del software, senza l’intervento di programmatori umani. Dopo lo sviluppo, le tecniche APR vengono generalmente valutate su diversi benchmark, procedure che valutano le prestazioni di un programma o sistema informatico eseguendo una serie di test standard.

I ricercatori dell’Universidade Federal de Goias e di I4Soft hanno recentemente sviluppato un benchmark introduttivo basato sull’analisi di 360 progetti aperti per Android, ciascuno con più di 5.000 download. Questo benchmark, presentato in uno studio pre-pubblicato su arXiv, contiene 13 bug singoli classificati in base al tipo di test che li ha effettivamente esposti.

“Il nostro lavoro è collocato nel contesto di un campo di ricerca molto recente chiamato riparazione automatica del programma”, ha detto a TechXplore Celso Camilo, uno dei ricercatori che ha condotto lo studio. “Alcune soluzioni di riparazione automatica sono già state proposte e valutate utilizzando benchmark specializzati. Tuttavia, nonostante l’enorme utilizzo di applicazioni Android, non esiste un benchmark progettato per valutare le tecniche di riparazione automatizzata dei programmi per i progetti mobili”.

Per ovviare a questa mancanza, i ricercatori hanno sviluppato DroidBugs, un nuovo punto di riferimento con bug reali e riproducibili da progetti mobili. Questo benchmark potrebbe aiutare a valutare nuovi programmi di riparazione automatica dei programmi per le app Android.

“DroidBugs è un insieme di profili ben definiti di bug in vere applicazioni Android open source”, ha spiegato Camilo. “Organizza e fornisce 13 bug, sette rivelati simulando un dispositivo Android e sei analizzando solo il codice sorgente. Il benchmark presenta la posizione del bug nel codice sorgente, le versioni buggate e fisse del codice sorgente e la suite di test utilizzato per esporre gli errori.”

Utilizzando Astor4Android, uno strumento APR sviluppato dal gruppo di ricerca di Camilo presso I4Soft, oltre a due strategie comuni di localizzazione dei guasti, i ricercatori hanno cercato di individuare e correggere i bug nelle applicazioni Android. Nel fare ciò, hanno incontrato una serie di sfide che potrebbero essere affrontate da studi futuri.

“Abbiamo fornito il primo benchmark pubblico per la riparazione automatizzata dei programmi nel contesto dello sviluppo Android”, ha affermato Camilo. “Abbiamo anche applicato gli algoritmi APR esistenti e riportato i risultati sulla localizzazione e riparazione automatica dei bug nel benchmark. Con tali risultati, siamo stati in grado di evidenziare importanti sfide per produrre un benchmark pertinente basato su progetti Android open source, che potrebbe essere utile per futuri sforzi in questo campo di ricerca”.

Lo studio condotto da Camilo e dai suoi colleghi potrebbe gettare le basi per lo sviluppo di ulteriori benchmark per valutare le tecniche APR per le applicazioni mobile Android. I ricercatori stanno ora pianificando di ampliare la loro ricerca ed esplorare nuovi modi per migliorare DroidBugs.

“Intendiamo estendere i tipi di bug aumentando il numero di applicazioni coperte dal benchmark”, ha affermato Camilo. “Abbiamo anche in programma di eseguire un’indagine approfondita sulle sfide per le attuali tecniche APR nella correzione dei bug delle app Android”.


Leave a Reply