As an example, consider the following:
Build 1 - Stable (within CPPCheck threshold)
Build 2 - Unstable (exceeds CPPCheck threshold)
Build 3 - Unstable (no change)
Build 4 - Unstable (no change)
If you view the CPPCheck results for build 4, it shows the resolved issues since the dawn of time, which is arguably incorrect (see attached image for an example of solved errors showing when the delta is 0), but more crucially, generates its delta for new errors against the previous build, regardless of the build status.
This creates the problem that, once build 2 drops off the history, you lose the deltas that help you identify the new errors that were introduced, because the deltas don't exist for build 3 or build 4 (they are zero).
There are one of two solutions I can think of:
1. Allow the previous build status for delta generation to be specified in the configuration: lastStableBuild, lastSuccessfulBuild
2. Hard code it to use the lastStableBuild only.