Ericsson / codechecker

CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
https://codechecker.readthedocs.io
Apache License 2.0
2.15k stars 357 forks source link

feat(script): Verify checker labelling invariants (e.g., `guideline:X` ⇔ `X:rule`, `profile:default` ⊆ `profile:sensitive` ⊆ `profile:extreme`) with the label-tool #4275

Open whisperity opened 1 week ago

whisperity commented 1 week ago

[!IMPORTANT] :no_entry: Blocked by #4274.

There were multiple occasions in which the labelling of the checkers was lacking some serious invariants which we all implicitly agreed upon, but never actually and thoroughly verified with tooling. Violating these invariants should have never resulted in serious issues, but quirky or unexpected behaviour could have occurred.

This patch extends the label-tool with facilities to verify, and, optionally, support automatically fixing the label set of each checker "globally" to uphold the following invariants: