Refactor RQ2

This commit is contained in:
Raffaele Mignone 2021-06-14 18:27:29 +02:00
parent 074a496d82
commit 9eebbe7d7d
Signed by: norangebit
GPG Key ID: F5255658CB220573
1 changed files with 15 additions and 1 deletions

View File

@ -188,7 +188,21 @@ Anche i questo caso le distribuzioni sono state analizzate attraverso l'ausilio
Come illustrato nella @sec:classificazione-commit per poter determinare la natura di un *issue fix* si è fatto ricorso alla classificazione delle *issues* ad esso associate.
La maggior parte delle *issues* è stata classificata automaticamente, ma è stato comunque necessario classificarne una porzione in modo manuale per poter avere un train/test set.
Come detto precedentemente, nel caso delle *issues* classificate a mano, oltre all'individuazione della tipologia (\ac{ML}, non \ac{ML}) è stata individuata anche la fase in cui il problema si palesava (si veda @sec:classificazione-issues).
Questo dato aggiuntivo presente su alcune issues è stato *proiettato* anche sulla classificazione dei commit di *fix* per andare a valutare come questi sono distribuiti sulle varie fasi.
In questa *\ac{RQ}* si vuole andare a valutare come questo dato aggiuntivo sulle fasi viene *proiettato* sui commit di *fix*.
Per poter svolgere questa analisi è necessario incrociare i dati sui commit di *fix* con la classificazione delle *issues*.
A partire dal dataset delle *issues* è stato creato per ogni progetto un dizionario *issue* $\rightarrow$ fase.
Quindi per ogni commit si è individuata la fase attraverso questo dizionario ausiliario.
In particolare un commit poteva citare:
- nessuna *issues* inclusa nel dizionario. In questo caso non è possibile individuare la fase del commit.
- una *issues* presente nel dizionario. In questo caso al commit viene assegnata la fase della *issue*.
- più di una *issues* presente nel dizionario. In questo caso al commit venivano associate più fasi[^multi-phases].
[^multi-phases]: Nessun commit di *fix* presente nel dataset utilizzato è rientrato in questa categoria.
L'analisi quantitativa è avvenuta attraverso un barplot in cui venivano riportati unicamente i commit a cui è stato possibile assegnare almeno una fase.
### RQ3: esiste una differenza di entropy tra ML bug e altri bug? {#sec:rq3}