conclusions

This commit is contained in:
Motiejus Jakštys 2019-11-13 19:48:45 +02:00
parent ab2e18c523
commit bbd96ea985

View File

@ -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