KEYWORD |
Implementazione di nuove metriche software in rust-code-analysis, sviluppato da Mozilla
Parole chiave METRICHE SOFTWARE, SOFTWARE ENGINEERING
Riferimenti LUCA ARDITO, MAURIZIO MORISIO
Riferimenti esterni VALSESIA MICHELE
Gruppi di ricerca DAUIN - GR-16 - SOFTWARE ENGINEERING GROUP - SOFTENG
Tipo tesi SPERIMENTALE
Descrizione rust-code-analysis è una libreria Rust che permette l'estrazione di undici
metriche di manutenibilità per dieci diversi linguaggi, compreso Rust. Attraverso l'albero sintattico astratto (AST) di un file sorgente, rust-code-analysis permette l'ispezione della struttura del codice analizzando le metriche del codice sorgente a diversi livelli di granularità e trovando errori di sintassi del codice prima della compilazione.
Lo strumento offre anche un'interfaccia a riga di comando che permette di esportare i risultati in diversi formati. La possibilità di analizzare i codici sorgente scritti in diversi linguaggi di programmazione permette un confronto sistematico e diretto tra le metriche prodotte da diverse fonti di analisi empiriche e su larga scala.
Questa tesi mira ad estendere lo strumento menzionato sopra aggiungendo nuove metriche del software e studiando il significato di ogni valore della metrica. Questa analisi dovrebbe determinare se il valore di ogni metrica calcolata ha senso per un codebase con
un insieme specifico di proprietà: numero di linee, numero di file, il linguaggio di programmazione utilizzato in esso, caratteristiche del
linguaggio di programmazione.
La tesi dovrebbe essere in grado di rispondere a queste domande di ricerca:
- Il valore n di una metrica x è un buon valore per un codebase con k linee di codice?
- Cosa mostrano i valori della metrica X sul codebase Y?
- Quando una codebase può essere considerata mantenibile? Quali sono le metriche software di maggior valore? Quali sono le soglie di ogni valore di metrica?
Questa tesi è in collaborazione con Mozilla.
Conoscenze richieste Java
Rust (o disponibilità ad impararlo)
Scadenza validita proposta 05/02/2022
PROPONI LA TUA CANDIDATURA