\documentclass{article}

\usepackage[L7x,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[english]{babel}
\usepackage[style=authoryear]{biblatex}
\addbibresource{bib.bib}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{subcaption}

\title{
    Research Methodology -- Fifth exercise\\ \vspace{4mm}
    Critical evaluation of scientific work
}

\author{Motiejus Jakštys}

\date{\today}

\begin{document}
\maketitle

\section{Introduction}

\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}
    \item What kind of study is this? Theoretical, strategic, applied, or
        experimental?
    \item What is the main purpose of the research task (descriptive,
        explanatory, correlative, prognostic, prescriptive, or exploratory?
    \item What strategies have been applied? Qualitative, quantitative or
        mixed?
    \item Do the findings adequately reflect the results?
    \item Has the scientific method been applied properly?
    \item Are the findings based on the research findings described in the
        text?
    \item Can the study be repeated, is there sufficient information?
    \item Did the study create new knowledge? Is there practical value?
\end{enumerate}


\section{Structure overview}

\subsection{Kind of study}
The paper is strategic, applied:

\begin{description}

    \item[Strategic:] authors have developed an artifact \texttt{Aspirator}
        which helps software maintainers find certain classes of bugs. What is
        more, they provided new knowledge, like in the quote above.

    \item[Applied:] the artifact of the work, \texttt{Aspirator}, can be
        applied by other software developers looking for similar classes of
        bugs.

\end{description}

\subsection{Purpose of the research task}

The research task is descriptive and correlative: given a well-understood
situation of distributed systems fail catastrophically, researchers are finding
common reasons for failures, and developing tools to mitigate them.

Conclusions and suggestions are prescriptive: the researchers are warning
engineers against common failures, and suggesting tools to mitigate them.

\subsection{Applied Strategies}

The task is mixed:
\begin{description}
    \item[Quantitative:] researchers are analyzing and classifying a large
        number of bugs.
    \item[Qualitative:] each bug requires careful analysis in order to classify
        it and make interesting conclusions.
\end{description}

\subsection{Do findings reflect the purpose and results?}
\label{sec:findings-purpose-result}

Research findings are derived directly from the purpose and research results.
Namely, the researchers set out to find the most common reasons for
catastrophic failures in distributed systems. They found them, classified them,
and gave suggestions for future generations of distributed systems developers.

\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

\end{document}
