conclusions
This commit is contained in:
parent
ab2e18c523
commit
bbd96ea985
@ -7,6 +7,8 @@
|
|||||||
\usepackage[style=authoryear]{biblatex}
|
\usepackage[style=authoryear]{biblatex}
|
||||||
\addbibresource{bib.bib}
|
\addbibresource{bib.bib}
|
||||||
\usepackage{hyperref}
|
\usepackage{hyperref}
|
||||||
|
\usepackage{caption}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
|
||||||
\title{
|
\title{
|
||||||
Research Methodology -- Fifth exercise\\ \vspace{4mm}
|
Research Methodology -- Fifth exercise\\ \vspace{4mm}
|
||||||
@ -22,8 +24,23 @@
|
|||||||
|
|
||||||
\section{Introduction}
|
\section{Introduction}
|
||||||
|
|
||||||
This article reviews \cite{186171}, and answers the following questions:
|
\cite{186171} analyzed 198 randomly selected failures in popular distributed
|
||||||
|
systems, and classified the reasons for each failure. This is one of the most
|
||||||
|
interesting findings:
|
||||||
|
|
||||||
|
\begin{figure}[h]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[b]{0.7\textwidth}
|
||||||
|
\blockquote[\cite{186171}] {
|
||||||
|
Almost all (92\%) of the catastrophic system failures are the result of
|
||||||
|
incorrect handling of non-fatal errors explicitly signaled in software.
|
||||||
|
}
|
||||||
|
\caption{Simple and powerful observation about bugs in distributed systems.}
|
||||||
|
\label{fig:quote-errors}
|
||||||
|
\end{subfigure}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
We will review the paper and answer the following questions:
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item What kind of study is this? Theoretical, strategic, applied, or
|
\item What kind of study is this? Theoretical, strategic, applied, or
|
||||||
experimental?
|
experimental?
|
||||||
@ -39,16 +56,6 @@ This article reviews \cite{186171}, and answers the following questions:
|
|||||||
\item Did the study create new knowledge? Is there practical value?
|
\item Did the study create new knowledge? Is there practical value?
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\section{The Paper}
|
|
||||||
|
|
||||||
Besides other things, \cite{186171} analyzed 198 randomly selected failures in
|
|
||||||
popular distributed systems, and classified the reasons for each failure. This
|
|
||||||
is one of the most interesting findings:
|
|
||||||
|
|
||||||
\blockquote[\cite{186171}] {
|
|
||||||
Almost all (92\%) of the catastrophi system failures are the result of
|
|
||||||
incorrect handling of non-fatal errors explicitly signaled in software.
|
|
||||||
}
|
|
||||||
|
|
||||||
\section{Structure overview}
|
\section{Structure overview}
|
||||||
|
|
||||||
@ -57,12 +64,13 @@ The paper is strategic, applied:
|
|||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
|
|
||||||
\item[Strategic:] authors have developed an artifact \tt{Aspirator} which
|
\item[Strategic:] authors have developed an artifact \texttt{Aspirator}
|
||||||
helps software maintainers find certain classes of bugs. What is more,
|
which helps software maintainers find certain classes of bugs. What is
|
||||||
they provided new knowledge, like in the quote above.
|
more, they provided new knowledge, like in the quote above.
|
||||||
|
|
||||||
\item[Applied:] the artifact of the work, \tt{Aspirator}, can be applied by
|
\item[Applied:] the artifact of the work, \texttt{Aspirator}, can be
|
||||||
other software developers looking for similar classes of bugs.
|
applied by other software developers looking for similar classes of
|
||||||
|
bugs.
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
@ -86,13 +94,41 @@ The task is mixed:
|
|||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\subsection{Do findings reflect the purpose and results?}
|
\subsection{Do findings reflect the purpose and results?}
|
||||||
|
\label{sec:findings-purpose-result}
|
||||||
|
|
||||||
Research findings are derived directly from the purpose and research results.
|
Research findings are derived directly from the purpose and research results.
|
||||||
Namely, the researchers set out to find the most common reasons for
|
Namely, the researchers set out to find the most common reasons for
|
||||||
catastrophic failures in distributed systems. They found them, classified them,
|
catastrophic failures in distributed systems. They found them, classified them,
|
||||||
and gave suggestions for future generations of distributed systems developers.
|
and gave suggestions for future generations of distributed systems developers.
|
||||||
|
|
||||||
\subsection{Scientific Method}
|
\subsection{Scientific Method and reproducibility}
|
||||||
|
|
||||||
|
Scientific methodc is empirical: given 198 randomly selected bugs,
|
||||||
|
researchers went to classify them using predefined classification rules and
|
||||||
|
techniques.
|
||||||
|
|
||||||
|
Classification methods and research methodology were clearly described in the
|
||||||
|
introduction, in a way anyone with sufficient engineering background could set
|
||||||
|
out to re-classify the bugs.
|
||||||
|
|
||||||
|
Given that, the actual referenced bugs and behaviours were not listed in the
|
||||||
|
article, therefore \textbf{it is impossible to replicate this exact study}.
|
||||||
|
|
||||||
|
\subsection{Practical value}
|
||||||
|
|
||||||
|
For a software engineer building distributed systems, the conclusion alone
|
||||||
|
(\ref{fig:quote-errors}) is already eye-opening for making our own robust
|
||||||
|
distributed systems.
|
||||||
|
|
||||||
|
\texttt{Aspirator} looks like a promising tool for code bases that were
|
||||||
|
developed without non-fatal error handling in mind. For engineers that are
|
||||||
|
working on new code and are disciplined, can take their time to write tests for
|
||||||
|
failure conditions (i.e. not in pressure to ship code), knowledge-able and read
|
||||||
|
the discussed paper, this tool will not be useful.
|
||||||
|
|
||||||
|
Even though it is important to educate existing and future generations (what the
|
||||||
|
article does very well), since life is not that great, \texttt{Aspirator} will
|
||||||
|
likely find its use in existing and new software.
|
||||||
|
|
||||||
\printbibliography
|
\printbibliography
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user