\documentclass[10pt]{report}

\usepackage{times}
\usepackage{epsfig}
\usepackage{boxedminipage}
\usepackage{cmu-techreport}
\usepackage{alltt}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand\cbmc{{\tt CBMC}}
\newcommand{\ttb}{\changefont{pcr}{b}{n}}

\begin{document}

%\date{August 2002}

%make title
\title{ANSI-C Bounded Model Checker\\
       User Manual}

\support{
This research was sponsored by the Semiconductor Research Corporation (SRC)
under contract no.\ 99-TJ-684, the National Science Foundation (NSF) under
grant no.\ CCR-9803774, the Office of Naval Research (ONR), the Naval
Research Laboratory (NRL) under contract no.\ N00014-01-1-0796, and by the
Defense Advanced Research Projects Agency and the Army Research Office (ARO)
under contract no.\ DAAD19-01-1-0485.}
\support{The views and conclusions contained in
this document are those of the author and should not be interpreted as
representing the official policies, either expressed or implied, of SRC,
NSF, ONR, NRL, DOD, ARO, or the U.S. government.}

\author{Edmund Clarke\\
        Daniel Kroening}

\trnumber{}

\abstract{We describe a tool that formally verifies ANSI-C programs. The
tool implements a technique called Bounded Model Checking (BMC). In BMC, the
transition relation for a complex state machine and its specification are
jointly unwound to obtain a Boolean formula, which is then checked for
satisfiability by using a SAT procedure. The tool supports all ANSI-C
integer operators and all pointer constructs allowed by the ANSI-C standard,
including dynamic memory allocation, pointer arithmetic, and pointer type
casts.}

\keywords{ANSI-C, Bounded Model Checking, Pointers}

\maketitle{}

\input{intro}
\input{ansi-c-features}
\input{hw}
\input{commandline}

\bibliographystyle{unsrt}
\bibliography{pixley}

\end{document}
