\begin{slide}{Übung Profiling (C++)}

% auf \verb|goliath| oder \verb|aaron| einloggen (ssh)

Beispiel-Programm(e):
\url{http://www.imn.htwk-leipzig.de/~waldmann/edu/ss04/case/programme/analyze/cee/}


Aufgaben:
\begin{itemize}
\item
  Kompilieren und ausführen für Profiling:
\begin{verbatim}
g++ -pg -fprofile-arcs heap.cc -o heap
./heap > /dev/null
# welche Dateien wurden erzeugt? (ls -lrt)
gprof heap # Analyse
\end{verbatim}
\item
  Kompilieren und ausführen für Überdeckungsmessung:
\begin{verbatim}
g++ -ftest-coverage -fprofile-arcs heap.cc -o heap
./heap > /dev/null
# welche Dateien wurden erzeugt? (ls -lrt)
gcov heap.cc 
# welche Dateien wurden erzeugt? (ls -lrt)
\end{verbatim}
  Optionen für \verb|gcov| ausprobieren! (\verb|-b|)
\item
  \verb|heap| reparieren:
  \verb|check| an geeigneten Stellen aufrufen,
  um Fehler einzugrenzen
\item
  \verb|median3| analysieren:
  Testfälle schreiben (hinzufügen) für:
  Anweisungsüberdeckung, Bedingungsüberdeckung, Pfadüberdeckung

  Überdeckungseigenschaften mit \verb|gcov| prüfen
\item
  \verb|median5| reparieren  
\end{itemize}



\end{slide}
