Tools utilizzati nel progetto
Componenti del gruppo:
- Francesco Cosimo Mazzitelli
- Pio Antonio Perugini
- Donato Guerrera
- Ermanno Nicoletti
- Achille Melillo
Per poter eseguire l'applicazione è necessario:
- Scaricare e installare GIT, Java, Python
- Impostare il percorso relativo GIT e Java nel path per la definizione delle variabili d'ambiente
- Scaricare ed installare WSL con una distro linux
- Eseguire il comando pip install -r requirements.txt che installerà tutte le librerie necessarie al funzionamento dell'applicazione
- Eseguire come amministratore l'eseguibile "GIT bash" e inserire il seguente comando: git config --system core.longpaths true
- Inserire l'url relativo alla repository da analizzare nel file settings .json:
{ "repo": "https://github.com/insert/repository/here" }
Il funzionamento del progetto prevede:
- Download automatico del repository da analizzare direttamente da GIT
- Estrazione dei commits del repository
- Filtraggio dei commits secondo un determinato criterio
- Checkout dinamico del repository in relazione ai commit filtrati
- Applicazione del tool "ck" per l'estrazione di metriche relative al commit filtrato
- Eliminazione dei file non utili all'elaborazione
- Analisi dei file .csv ottenuti tramite pandas
- Plot del grafico di tutte le metriche per commit per visualizzare l'andamento delle metriche nel tempo
- Applicazione (semiautomatica) del tool "nicad6" per l'analisi dei cloni
- Estrazione di dati utili dai file .xml risultato e incapsulamento in .csv
- Analisi dei risultati
- Applicazione del tool "sonarqube" utilizzato per l'analisi del technical debt
- Analisi dei risultati tramite navigazione della pagina html visualizzata
- Risultati
Non è stato possibile automatizzare l'esecuzione di nicad6, è quindi necessario:
- Installare txl, presente nella cartella "tools"
- Windows: dall'interno della cartella corrispondente apri il prompt dei comandi e digita "InstallTxl.bat"
- Linux: dall'interno della cartella corrispondente apri il prompt dei comandi e digita "./InstallTxl"
- Installare nicad6, presente nella cartella "tools" tramite il comando "make". Verrà quindi avviata la procedura di compilazione dell'eseguibile tramite gcc e txl
- Copiare il progetto da analizzare nella cartella "systems" di nicad
- Avviare il prompt dei comandi dalla cartella "nicad6" e digitare il seguente somando:
- Tipo1: ./nicad6 functions java systems/To_Analyze type1-report default-report
- Tipo2: ./nicad6 functions java systems/To_Analyze type2-report default-report
- Tipo3: ./nicad6 functions java systems/To_Analyze type3-1-report default-report
- Copiare i file "...clones-0.00-classes.xml" nella cartella "nicad_input". Se non è presente crearla manualmente nella root del progetto oppure avviare il nicad_wrapper dal main e farlo fallire per generare automaticamente la cartella
La documentazione relativa all'applicazione è consultabile sul seguente sito:
Report di progetto
Presentazione del progetto