Funded Projects

Research Funded Projects

METODI E TECNICHE PER L¿INGEGNERIA DEL SOFTWARE

Di seguito vengono descritte le attività del progetto di ricerca per ognuno degli ambiti considerati. 1) Sebbene la base di partenza scientifica abbia contribuito a risolvere diverse questioni nell’ambito dell’identificazione e della risoluzione dei problemi di progettazione nel codice sorgente, sono ancora tante le sfide e i problemi ancora aperti. In questo progetto di ricerca oltre alla identificazione e alla risoluzione di un sottoinsieme più ampio di problemi di progettazione, saranno studiate le motivazioni e le situazioni in cui i problemi di progettazione sono introdotti nel codice. Saranno definiti e sviluppati strumenti capaci di prevenire la loro introduzione avvertendo tempestivamente gli sviluppatori. Infine, un’altra sfida riguarda la prioritizzazione dei risultati degli strumenti di identificazione di problemi di progettazione, assegnando un grado di pericolosità in base alla quale prioritizzare le attività di rimozione.2) Nell'ambito della predizione dei difetti in artefatti software, l'obiettivo della ricerca consiste in due filoni principali. Il primo ambito di ricerca è relativo allo sviluppo di metodologie che permettano di migliorare l'utilizzo combinato di tecniche di machine learning. Il secondo ambito di ricerca invece è relativo alla scelta dei predittori da considerare. A tal fine verranno proposte metodologie capaci di stimare di tali predittori in base alle caratteristiche del sistema software sotto valutazione. Inoltre sarà analizzato il ruolo delle modifiche sparse degli sviluppatori nella predizione di difetti. L’importanza del fattore umano nell’introduzione di difetti nel codice sorgente è stata soggetta a diversi studi empirici. Tuttavia, questi fattori non sono mai stati integrati all’interno di modelli per la predizione di difetti. Studi precedenti hanno dimostrano che sviluppatori focalizzati siano meno propensi ad introdurre difetti rispetto a sviluppatori poco focalizzati. Tenendo conto di questo si verificherà che le componenti software modificate dagli sviluppatori focalizzati dovrebbero essere meno inclini a difetti rispetto a quelle modificate da sviluppatori non focalizzati. 3) Il progetto di ricerca si focalizzerà principalmente sulla individuazione dei fattori (e quindi delle metriche) in grado di influenzare in modo diretto e indiretto lo sforzo che gli sviluppatori spendono nelle varie fasi dello sviluppo del software, a partire dai requisiti fino alla fase di manutenzione, con lo scopo di elaborare modelli di predizione efficaci. Sarà presentata una metodologia per l’identificazione di un insieme di metriche che consentono una stima dello sforzo in una fase preliminare dello sviluppo del software in ambito mobile, ovvero quando i requisiti funzionali non sono ancora stati definiti. Inoltre, si progetteranno degli strumenti a supporto delle attività di manutenzione ed evoluzione del software. In questa categoria ricadono le ricerche condotte con lo scopo di identificare fattori rilevanti per la stima indiretta dello sforzo, ovvero (i) la predizione del costo—in termini di linee di codice da modificare—necessario per il completamento di un task, (ii) la predizione delle componenti software più propense a cambiare nel tempo, così da consentire la prioritizzazione delle attività di manutenzione preventiva come ispezioni software e riorganizzazione del codice, e (iii) la predizione di componenti difettose per la prioritizzazione delle attività di testing. Obiettivo comune è quello di valutare la misura in cui fattori umani (ad esempio, esperienza degli sviluppatori) e non influiscono sull’accuratezza delle predizioni legate allo sforzo diretto ed indiretto.

DepartmentDipartimento di Informatica/DI
FundingUniversity funds
FundersUniversità  degli Studi di SALERNO
Cost5.929,24 euro
Project duration20 November 2017 - 20 November 2020
Proroga20 febbraio 2021
Research TeamGRAVINO Carmine (Project Coordinator)
Catolino Gemma (Researcher)
DE LUCIA Andrea (Researcher)
DI NUCCI DARIO (Researcher)
FERRUCCI FILOMENA (Researcher)
MUSMARRA Paolo (Researcher)
PALOMBA Fabio (Researcher)
Pecorelli Fabiano (Researcher)
SALZA PASQUALE (Researcher)