These are the top level rules for each rule group (i.e. these rules are primary rules that are not sub-rules used to enforce parent rules).
The table presents the violation counts for each top-level rule. Note that a message may be used to enforce more than one rule. In such a case, one diagnostic will result in multiple violations (i.e. one for each rule that the message is used to enforce).
Diagnostic counts are available in File Status table.

QA·C
FilesRule 0Rule 1Rule 2Rule 3Rule 4Rule 5Rule 6Rule 7Rule 8Rule 9Total Violations
getopt.c020442140010200488
file.h00100000001
dir.c01116713001000192
regex.h0054000520061
context.c02437315005100418
version.c00500000005
ed.c031729004000188
getopt.h0023000400027
stat.h00400000004
ifdef.c0061200100064
strings.h00400000004
alloca.c02946002000104
io.c081901450110001029
diff3.c1112163014000130001896
getopt1.c0232200100037
analyze.c0108992750270001184
diff.h05164290018000216
normal.c0062300200067
util.c13163647032200722
dir.h0012000200014
diff.c12670376001100808
Total Violations3425653247606798007529

Share of total violations (per parent rule)
Rule 1 (5.47)Rule 0 (0.04)Rule 3 (6.13)Rule 2 (84.09)Rule 5 (0.08)Rule 4 (0.00)Rule 7 (0.10)Rule 6 (1.02)Rule 9 (0.00)Rule 8 (0.00)
RCMA
FilesRule 0Rule 2Rule 5Rule 7Rule 8Total Violations
getopt.c020002
dir.c010001
diff.c030003
context.c020002
ed.c030003
alloca.c020002
getopt1.c020002
ifdef.c010001
version.c010001
io.c050005
diff3.c02400024
analyze.c060006
diff.h020002
normal.c020002
util.c050005
Total Violations06100061

Share of total violations (per parent rule)
Rule 0 (0.00)Rule 2 (0.79)Rule 5 (0.00)Rule 7 (0.00)Rule 8 (0.00)

These are the most violated rules that are directly enforced (i.e. these rules have messages directly mapped to them and are not being enforced solely by sub-rules).
Again, the table presents the violation counts. Note that a message may be used to enforce more than one rule. In such a case, one diagnostic will result in multiple violations (i.e. one for each rule that the message is used to enforce).
Diagnostic counts are available in File Status table.

QA·C
FilesRule 2.22Rule 2.9Rule 2.2Rule 2.17Rule 2.23Rule 2.15Rule 2.14Rule 2.13Rule 2.24
diff.h000182558020
getopt.h000482000
regex.h0008297000
strings.h000112000
dir.h000713000
file.h000010000
stat.h000010000
alloca.c121304730412
analyze.c111177383844166615974
context.c23718482045272936
diff.c8914529622866418949
diff3.c14523361759622194139134
dir.c142901672620512
ed.c733034616131611
getopt.c80579232450273527
getopt1.c2202214204
ifdef.c41701126731
io.c9698271142643443962
normal.c21201139671
util.c3779158925110483934
version.c100003010

Share of total violations (most violated rules)
Rule 2.22 (8.27)Rule 2.9 (12.83)Rule 2.2 (4.99)Rule 2.17 (7.50)Rule 2.23 (4.73)Rule 2.15 (11.65)Rule 2.14 (5.23)Rule 2.13 (6.16)Rule 2.24 (5.94)Other (32.69)
RCMA
FilesRule 8.1Rule 2.2Rule 2.1
diff.h020
alloca.c020
analyze.c060
context.c020
diff.c030
diff3.c0240
dir.c010
ed.c030
getopt.c020
getopt1.c011
ifdef.c010
io.c050
normal.c020
util.c041
version.c010

Share of total violations (most violated rules)
Rule 8.1 (9.62)Rule 2.2 (60.67)Rule 2.1 (29.71)Other (0.00)

Active Diagnostics refers to diagnostics that are not suppressed (note: no suppressed diagnostics have been taken into account for the calculation of information in this document).

Analysis Status as of: 01 Feb, 2019 at 09:54:45

FilesActive DiagnosticsViolated RulesViolation CountCompliance Index
getopt.c4902849089.89%
file.h11199.64%
dir.c1932619390.61%
diff.c8113181188.81%
context.c4202342091.70%
strings.h43498.92%
ed.c1911919193.14%
alloca.c1062110692.42%
getopt1.c39143994.95%
ifdef.c65156594.58%
getopt.h2772797.47%
stat.h42499.28%
version.c64698.56%
io.c103431103488.81%
diff3.c192039192085.92%
analyze.c119033119088.09%
diff.h2181421894.95%
normal.c69146994.95%
util.c7273272788.45%
dir.h1461497.83%
regex.h6186197.11%
Total7768776894.64%
Analyzed FileSettings 1Settings 2Settings 3Settings 4
regex.hNoneNoneNoneNone
types.hNoneNoneNoneNone
getopt1.c getopt1.c.qac.viaNoneNoneNone
diff3.c diff3.c.qac.viaNoneNoneNone
file.hNoneNoneNoneNone
context.c context.c.qac.viaNoneNoneNone
alloca.c alloca.c.qac.viaNoneNoneNone
wait.hNoneNoneNoneNone
ifdef.c ifdef.c.qac.viaNoneNoneNone
version.c version.c.qac.viaNoneNoneNone
normal.c normal.c.qac.viaNoneNoneNone
time.hNoneNoneNoneNone
diff.c diff.c.qac.viaNoneNoneNone
stat.hNoneNoneNoneNone
io.c io.c.qac.viaNoneNoneNone
util.c util.c.qac.viaNoneNoneNone
dir.hNoneNoneNoneNone
cma
[C:/diff/prqa/configs/Initial_Config/output/_SOURCE_ROOT/cma]
NoneNoneNoneNone
getopt.c getopt.c.qac.viaNoneNoneNone
dir.c dir.c.qac.viaNoneNoneNone
ed.c ed.c.qac.viaNoneNoneNone
getopt.hNoneNoneNoneNone
strings.hNoneNoneNoneNone
analyze.c analyze.c.qac.viaNoneNoneNone
diff.hNoneNoneNoneNone

Note that headers in suppressed directories are ignored in the following statistics.
The number of files is the number of source files in the project, plus the number of header files included by those source files.
The Lines of Code is the sum of the metric STTLN for each source (header files are not included)
The total number of diagnostics is the sum of all diagnostics appearing in all files. Diagnostics in header files are only counted once, even if they are included in more than one source file.
The number of violated rules is the number of rules in the project Rule Configuration File that have at least one one diagnostic appearing in the files. The number of Compliant groups is the difference between the total number of rules and the number of rules groups.
Since a message can be used to enforce one or more rules in the Rule Configuration File, violation counts are not the same as diagnostic counts. Total Diagnostics is a count of atomic message instances appearing in the files, whereas one diagnostic may infringe more than one rule, possibly resulting in multiple violations. These metrics are not the same. Therefore, it is possible that violation counts may differ from diagnostic counts, depending on how the user has organised the Rule Configuration File.

Calculation of Compliance Index
The Compliance Index is the percentage of groups which have no messages in them.
For each file it is calculated as follows:

( Ntotal - Nerror ) / Ntotal x 100

Ntotal is the total number of enforced rules (i.e. the number of rules that have at least one message mapped to it directly).
Nerror is the number of rules for which messages appear in that file.
The File Compliance Index is the mean of all the individual file compliances.
The Project Compliance Index is calculated in a similar way but with Nerror as the number of rules for which messages appear in all analysed files.
A high File Compliance Index and low Project Compliance Index indicates that each file violates only a small number of rules but each file violates a different rule.
If the Compliance Indices are close then each file is violating more or less the same rules.