some minor doc corrections/todos
[nobug.git] / doc / overview.txt
blob87019f901e2ac01eb37bccab5737a48036f0d119
1 ____
2 Everyone makes errors, but with NoBug you won't make them twice!
3 ____
5 Nobug is a debugging library for instrumenting C and C++ programs
6 inspired by ideas originating from Design-by-Contract.
8 Overview
9 --------
11 The following features are provided by NoBug:
13   * Three different check levels: from detailed to final no-overhead
14   * Scope tags: tell whenever a function or loop is considered to be bug free
15   * Precondition, Postcondition and Invariant checks and generic assertions
16   * Debugger support (actions are only executed while running under a
17     debugger), currently only valgrind is supported
18   * Datastructures can be dumped
19   * Application activities can be logged
20   * Runtime customizable logging via an environment variable
21   * Different logging targets to stderr, syslog, debugger, ...
22   * Annotation of your sourcecode about known bugs, things to do, etc.
23   * Tracking resources (files, locks, etc.) used by your program; help in
24     detecting misuse
25   * Detecting deadlocks
26   * Simulate errors by injecting faults
28 In contrast to traditional debuggers, NoBug is a non-interactive debugger which
29 is linked to your application doing hard-coded tests in an efficient,
30 low-overhead way.