  This technical report presents the work done as part of the AutoSeer project.
Our work in this project was to develop a source-to-source compiler, MANET, for
the C language that could be used for instrumentation of critical parts of
applications under testing. The intention was to guide the compilation flow and
define instrumentation strategies using the Aspect-Oriented Approach provided
by LARA. This allows a separation of the original target application and the
instrumentation secondary concerns.
  One of the goals of this work was the development of a source-to-source C
compiler that modifies code according to an input strategy. These modifications
could provide code transformations that target performance and instrumentation
for debugging, but in this work they are used to inject code that collects
information about the values that certain variables take during runtime. This
compiler is supported by an AOP approach that enables the definition of
instrumentation strategies. We decided to extend an existing source-to-source
compiler, Cetus, and couple it with LARA, an AOP language that is partially
abstracted from the target programming language.
  We propose and evaluate an approach to detect faults in C programs by
monitoring the range values of variables. We consider various monitoring
strategies and use two real-life applications, the GZIP file compressor and
ABS, a program provided by an industrial partner. The different strategies were
specified in LARA and automatically applied using MANET. The experimental
results show that our approach has potential but is hindered by not accounting
for values in arrays and control variables. We achieve prediction accuracies of
around 54% for ABS and 83% for GZIP, when comparing our approach to a more
traditional one, where the outputs are compared to an expected result.
