Skip to content

Commit e329169

Browse files
committed
documentation
1 parent d4169f0 commit e329169

2 files changed

Lines changed: 27 additions & 15 deletions

File tree

man/manual.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,7 @@ An example usage:
790790

791791
# Bug hunting
792792

793-
If you want to detect more bugs and can accept lots of false alarms then Cppcheck has analysis for that.
793+
If you want to detect more bugs and can accept false alarms then Cppcheck has analysis for that.
794794

795795
This analysis will be "soundy". The majority of the bugs should be detected however there is not a guarantee that Cppcheck will detect all bugs.
796796

philosophy.md

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11

2-
Cppcheck Philosophy
3-
===================
2+
# Cppcheck Philosophy
43

54
It is important that everybody in the Cppcheck team has a consistent idea about how this tool should work.
65

7-
This is a static analyser tool. When it comes to writing warnings, quality is much more important than quantity.
6+
This is a static analyser tool.
87

98

10-
No false positives
11-
------------------
9+
## Normal analysis - No false positives
1210

1311
A fundamental goal is "no false positives".
1412

@@ -20,34 +18,48 @@ If it is not known if there is a problem, then in general we need to bailout. We
2018

2119
Stylistic checks are much more prone to false positives and therefore we should avoid writing stylistic checks mostly.
2220

21+
Reporting issues in Trac:
22+
- If you see a false negative; report that as an enhancement.
23+
- If you see a false positive; report that as a defect.
2324

24-
No configuration
25-
----------------
25+
26+
## Bug hunting - Soundy analysis
27+
28+
The goal is to detect nearly all bugs. It will not be possible to detect ALL bugs. For instance if the code is garbage or if the bug happens in a inline assembler code block.
29+
30+
It will not be possible to avoid false alarms completely but we can not be sloppy about false alarms. There are tools that are too noisy. A handful of false alarms for a project is totally fine in this analysis. But 1000's of false alarms for the average project would not be ok.
31+
32+
We want to detect UB. But we will not add checkers that are too noisy.
33+
34+
Reporting issues in Trac:
35+
- If you see a false negative; report that as a defect.
36+
- If you see a false positive; report it as an enhancement.
37+
38+
We should try hard to fix false positives however we can't have heuristics that we know will cause important false negatives.
39+
40+
41+
## No configuration
2642

2743
We want that a user can run Cppcheck without explicit -D and -I configuration.
2844

2945
When this happens the false positives should be avoided. The user can reduce false negatives with configuration.
3046

3147

32-
Allow compiler extensions
33-
-------------------------
48+
## Allow compiler extensions
3449

3550
This is not just a tool for mainstream gcc/msvc c/c++ developers. If you can compile the code with a C/C++ compiler then our goal is that Cppcheck can check it.
3651

3752

38-
C++ language
39-
------------
53+
## C++ language
4054

4155
Our goal is to be highly portable. Users must be able to compile Cppcheck with GCC 4.6 or MSVS 2013.
4256

4357
No C++14 is allowed. A subset of the C++11 is allowed.
4458

4559

46-
No dependencies
47-
---------------
60+
## Avoid dependencies
4861

4962
We are very careful about dependencies.
5063

5164

5265

53-

0 commit comments

Comments
 (0)