TiCS also checks on rules that are reported to TiCS by tools, but not configured as part of a ruleset.
On some occasions, it is possible that a coding rule or compiler warning is intentionally excluded from TiCS analysis.
Potential reasons are because the rule is not applicable for the environment or because the rule reports a lot of false positives.
To avoid reporting on unconfigured rules that have been intentionally excluded from analysis, we can use the EXCLUDEDITEMS
property of file rules.json
.
Its contents are a list of implementation ID's (see documentation on IMPL.txt for more details) as shown below:
{ "EXCLUDEDITEMS" : [ "ExcludedItem1", "ExcludedItem2", "ExcludedItem3", ] }
We place excluded items of a ruleset in the corresponding rules.json
file of that ruleset.
For example, below are the contents of a file rules.json
of the <cfg_dir>/4.0/abstractinterpretation/COV_JAVA
ruleset which will exclude items FB.AA_ASSERTION_OF_ARGUMENTS
and FB.CT_CONSTRUCTOR_THROW
from unconfigured rules reporting.
These violation items are specific to JAVA
language reported by the tool Coverity
.
{ "EXCLUDEDITEMS" : [ "FB.AA_ASSERTION_OF_ARGUMENTS", "FB.CT_CONSTRUCTOR_THROW", ] }