Baseline Diagnostics Suppression

Baseline diagnostics suppression is used to suppress old diagnostic warnings when the decision has been made to begin a new cycle of development.

The baseline consists of the set of diagnostics present when the baseline was generated. In any subsequent analysis, if a diagnostic can be identified as being the same as a diagnostic within the baseline, it is suppressed. Sophisticated "diff"-style techniques are used to match diagnostics, even if some of the surrounding code has changed.

Baseline suppressions are applied at view time. They do not affect the generation of diagnostics. This means that you can see exactly what has been suppressed by selecting the Show baseline suppressed diagnostics at the top of the Analysis Results/Diagnostics panel.

It is your responsibility to ensure that there are no timeout messages if you intend to generate a baseline. This is because timeouts can lead to inconsistencies in generated messages and therefore inconsistent baseline suppression. This is particularly important if Dataflow Analysis is enabled, because this form of analysis can time out when analyzing complex code.

Baselining is particularly useful when dealing with legacy code, where code changes are often seen as undesirable. Apply a baseline to the legacy code, and then, once the baseline is in place, diagnostics resulting from code changes will be displayed, whereas diagnostics from the original code will not.