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",
]
}