From c4068dc2bc8407b4d455395efbf4b6d658394a26 Mon Sep 17 00:00:00 2001 From: norangebit Date: Mon, 7 Jun 2021 12:59:56 +0200 Subject: [PATCH] Add RQ4 --- src/chapter_3.md | 33 ++++++++++++++++++++++++++++++++- src/figures/comments.pdf | Bin 0 -> 12490 bytes src/figures/words.pdf | Bin 0 -> 11848 bytes 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/figures/comments.pdf create mode 100644 src/figures/words.pdf diff --git a/src/chapter_3.md b/src/chapter_3.md index 34c916c..c7dc32f 100644 --- a/src/chapter_3.md +++ b/src/chapter_3.md @@ -31,7 +31,7 @@ Una volta note queste informazioni preliminari è stato possibile calcolare l'en Dal boxplot in @fig:files-entropy è possibile notare una distribuzione equivalente per le due tipologie di fix. Una situazione analoga si riscontra anche nell'analisi sulle linee (@fig:lines-entropy) anche se in questo caso è possibile notare che i valori di entropia associati ai fix di \ac{ML} sono shiftati leggermente verso l'alto. -[^boxplot-entropy]: Per ragioni di visualizzazione è stato scelto il $95-esimo$ quantile come limite superiore di entrambi i grafici. +[^boxplot-entropy]: Per ragioni di visualizzazione è stato scelto il $95$-$esimo$ quantile come limite superiore di entrambi i grafici. \begin{figure}[!ht] \subfloat[Entropia calcolata sui files\label{fig:files-entropy}]{% @@ -47,5 +47,36 @@ Una situazione analoga si riscontra anche nell'analisi sulle linee (@fig:lines-e ## RQ4: come varia il livello di discussione tra ML bug e altri bug? +Per rispondere a questa domanda è stato necessario andare a valutare il numero di commenti presenti all'interno di ogni issues. +Poiché un singolo commit può far riferimento a più issues il valore riportato è quello dei commenti medi. +I risultati ottenuti sono stati riportati nel boxplot[^boxplot-discussion] in @fig:discussion-comments. + +In questo caso si evince una differenza molto più marcata tra le due distribuzioni. +In particolare è possibile notare che le *issue fix* di \ac{ML} presentano una maggiore discussione e anche una maggiore varianza. +Se consideriamo la differenza interquartile, in modo da escludere completamente eventuali outlier, possiamo osservare che nei *fix* generici questa varia tra zero e uno. +Ciò vuol dire che il $50\%$ interno delle issues o non presenta commenti o ne presenta uno solo. +Mentre la differenza interquartile dei *fix* di \acl{ML} è compreso tra uno e due quindi nel $50\%$ interno tutte le issues hanno almeno un commento di risposta. + +[^boxplot-discussion]: In questo caso il limite superiore è pari al $97$-$esimo$ quantile. + +\begin{figure}[!ht] +\subfloat[Numero di commenti medi\label{fig:discussion-comments}]{% +\includegraphics[width=0.45\textwidth]{src/figures/comments.pdf} + } + \hfill +\subfloat[Numero di parole medie per commento\label{fig:discussion-words}]{% + \includegraphics[width=0.45\textwidth]{src/figures/words.pdf} + } +\caption{Livello di discussione in base al tipo} + \label{fig:discussion} +\end{figure} + +A questo punto si è cercato di capire se al maggior numero di commenti è associata effettivamente una maggiore quantità di informazioni scambiate. +Per svolgere questa analisi si è partiti dal presupposto che la quantità di informazioni scambiate sia proporzionale al numero di parole utilizzate nel commento. +Quindi per ogni issues è stato calcolato il numero medio di parole presenti all'interno di un commento. +I risultati di quest'ulteriore analisi sono riportati in @fig:discussion-words. +Anche in questo caso si può vedere che nel caso di \ac{ML} *fix* la distribuzione presenta valori più elevati e maggiore varianza. +Per cui non solo nei *fix* di \acl{ML} c'è maggiore discussione, ma la discussione è anche più *densa*. + ## RQ5: come varia il time-to-fix tra ML bug e altri bug? diff --git a/src/figures/comments.pdf b/src/figures/comments.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9fedb3e136a352d6877900f6268419162910b009 GIT binary patch literal 12490 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 literal 0 HcmV?d00001 diff --git a/src/figures/words.pdf b/src/figures/words.pdf new file mode 100644 index 0000000000000000000000000000000000000000..30e6cc011cbc84626ee429075e9d16f3709a5bbd GIT binary patch literal 11848 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