move abstact, motto and toc to the manual config file
[nobug] / doc / overview.txt
1 HEAD- Overview;;
2
3 The following features are provided by NoBug:
4
5   * Three different check levels: from detailed to final no-overhead
6   * Scope tags: tell whenever a function or loop is considered to be bug free
7   * Precondition, Postcondition and Invariant checks and generic assertions
8   * Data structures can be dumped
9   * Application activities can be logged
10   * Runtime customizable logging via an environment variable
11   * Different logging targets to stderr, syslog, debugger, ...
12   * Annotation of your sourcecode about known bugs, things to do, etc.
13   * Tracking resources (files, locks, etc.) used by your program; help in
14     detecting misuse
15   * Detecting potential deadlocks
16   * Simulate errors by injecting faults
17   * Additionally, the NoBug project is used to maintain a script and
18     some tools to setup testsuites
19
20 In contrast to traditional debuggers, NoBug is a non-interactive debugger that
21 is linked to your application doing hard-coded tests in an efficient, way
22 without much overhead. Depending in the build level you choose NoBug features
23 will be integral part of your application making it possible to gather
24 debugging data for each stage of the application development, including
25 collecting debugging infos for finally deployed applications.
26
27 PARA What NoBug can not do;;
28
29 NoBug is a (macro-)library, it is not a C/C++ language extension. This
30 means that code must be called at runtime to benefit from the set up
31 contracts. Whats not tested is likely slipping through the net. Being
32 part of the program itself it is affected by memory corruption,
33 certain kinds of misuse may introduce new bugs (assert expressions with
34 side effects for example).
35