diff --git a/src/chapter_2.md b/src/chapter_2.md index e859dc0..f0c0325 100644 --- a/src/chapter_2.md +++ b/src/chapter_2.md @@ -36,7 +36,7 @@ Con il processo precedentemente illustrato è stato possibile recuperare: ## Classificazione dei dati -### Classificazione delle issues +### Classificazione delle issues {#sec:classificazione-issues} Al fine di poter eseguire un confronto tra i *fix* di \ac{ML} e quelli *generici* è stato necessario classificare sia le issues che i commit. Per quanto riguarda i primi si è scelto di attuare una classificazione basata sul testo, in particolare considerando il titolo e il corpo della issue, ma escludendo i commenti di risposta in modo da non rendere i dati troppo rumorosi. @@ -98,7 +98,7 @@ Dalla @fig:labeling-type si evince la natura minoritaria delle issues di \ac{ML} : Confronto dei due modelli per la classificazione delle issues. {#tbl:confronto-modelli-classificazione-issues} -### Classificazione dei commit +### Classificazione dei commit {#sec:classificazione-commit} Prima di poter classificare i commit si è reso necessaria un'ulteriore fase di filtraggio in modo da poter separare i commit di *issue fixing* da quelli generici. Sono stati considerati come commit di *fix* tutti quei commit al cui interno veniva fatto riferimento a delle issues attraverso la notazione *"#"*. diff --git a/src/chapter_3.md b/src/chapter_3.md new file mode 100644 index 0000000..c60ff22 --- /dev/null +++ b/src/chapter_3.md @@ -0,0 +1,22 @@ +# Analisi + +## RQ1: come il ML e' distribuito sull'architettura dei progetti? + +## RQ2: come sono distribuiti i bug sulle diverse fasi di ML? + +Come illustrato nella @sec:classificazione-commit per poter determinare la natura del *issue fix* si è fatto ricorso alla classificazione delle issues ad esso linkate. +Nel caso in cui la issue sia stata classificata manualmente, 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 come questi sono distribuiti sulle varie fasi. +I risultati di questa analisi sono riportati in @fig:count-fix-phases. + +![Istanze dei fix in base alla fase](figures/count-fix-phases.pdf){#fig:count-fix-phases} + +Rispetto alla distribuzione sulle issues (@fig:labeling-phases) è possibile notare la scomparsa della fase *data collection*, inoltre è evidente anche la riduzione delle occorrenze di *model training* e una crescita di importanza per quanto riguarda le fasi di *model requirements* e *model deployment*. +Sfortunatamente i dati disponibili per questa analisi sono molti limitati, è stato possibile ricavare la fase solo per quaranta *fix*, per cui non è stato possibile altre analisi. + +## RQ3: esiste una differenza di entropy tra ML bug e altri bug? + +## RQ4: come varia il livello di discussione tra ML bug e altri bug? + +## RQ5: come varia il time-to-fix tra ML bug e altri bug? + diff --git a/src/figures/count-fix-phases.pdf b/src/figures/count-fix-phases.pdf new file mode 100644 index 0000000..7c74811 Binary files /dev/null and b/src/figures/count-fix-phases.pdf differ