Skip to content

Commit a82300a

Browse files
committed
updating report to include mention of utils for which information gathering could not be fully completed
1 parent 8cf77d7 commit a82300a

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

report/report.pdf

753 Bytes
Binary file not shown.

report/report.tex

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ \subsection{Gathered Metrics}
291291
\item The total number of errors
292292
\end{itemize}
293293
\item Instruction and branch coverage\footnote{KLEE includes library code in its coverage numbers and thus reports significantly lower coverage than \lstinline{gcov}.} as reported by KLEE\footnote{KLEE reports a number of additional metrics such as time spent in the solver, number of instructions analyzed, and number of cache hits, but these were not examined further in this paper.}
294-
\item Coverage as measured by \lstinline{gcov}
294+
\item Coverage as measured by \lstinline{gcov} for all except three utils: \lstinline{[}, \lstinline{ginstall}, and \lstinline{md5sum} did not produce a \lstinline{.gcno} file, preventing coverage gathering.
295295
\end{itemize}
296296
\section{Comparing Experiments Results to the Original Paper}
297297
\label{Results}
@@ -505,6 +505,14 @@ \subsection{Differences in Test Setup}
505505
\item Finally, the optimization flags for the LLVM bytecode generation step needed to be changed. According to the documentation, while just using \lstinline{-O0} by itself is fine for LLVM 3.4 (which is what is used for coreutils 6.10), this is no longer recommended for more recent versions.\cite{KLEETutorial, KLEEIssue} However, I could not get the compiler to build coreutils 8.25 using the suggested solution of \lstinline{-O1 -Xclang -disable-llvm-passes}. Specifically, I had to remove the \lstinline{-Xclang} argument to get the build to complete successfully.
506506
\end{itemize}
507507

508+
Despite all adjustments as described above, certain measurements could not be made:
509+
\begin{itemize}
510+
\item \lstinline{hostname} and \lstinline{setuidgid} do not seem to exist anymore in coreutils 8.25 and 9.4, so no measurements could be performed on them.
511+
\item \lstinline{base64} did not produce a \lstinline{.gcno} file on coreutils 8.25 and 9.4, thus making coverage information according to \lstinline{gcov} unavailable.
512+
\item \lstinline{cksum} and \lstinline{sum} did not produce \lstinline{.gcno} files in coreutils 9.4.
513+
\item \lstinline{wc} did not produce coverage based on \lstinline{gcov} in coreutils 9.4 for an unspecified reason.
514+
\end{itemize}
515+
508516
\subsection{Findings}
509517

510518
I chose a fixed timeout of 60 minutes as a constant to compare the different versions of coreutils. I then performed three runs on each additional version.

0 commit comments

Comments
 (0)