TICS Client Caching

To speed up local analysis, the TICS Client locally caches useful data that can be reused in later runs. This ensures that data that will not have changed between client runs will not be unnecessarily recalculated, so that analysis can be done as fast as possible.

Any TICS Client run done with -recalc will clear out caches for that project. The idea of -recalc is to explicitly not reuse cached data, but to make certain that all your data is recalculated from the bottom up. Use this option if you explicitly want to recalculate.
Data from TICS Client runs without a project will not be cached.

Location of the TICS caches

Dependent on the type of operating system that is used, the TICS cache resides in a different location:

When is cached data used?

The TICS Client can reuse data for a give metric from the cache if the following conditions are valid since the last time the TICS Client was run on a file:

Differences in handling of metrics

Some extra requirements are present for metrics that do an analysis where the results can also depend on the contents of different source files. These metrics are Abstract Interpretation, Security and Code Duplication. For these metrics, the following extra conditions hold:

Special case: the Coverity intermediate directory

Analogous to the TICSQServer configuration option INTERMEDIATEDIR in PROJECTS.yaml, the TICS Client also makes use of an intermediate directory for Coverity. This intermediate directory is also created in the TICS cache directory, to make it easier to reuse local Coverity results between TICS Client runs.

Like all other caches of the TICS Client, the Coverity intermediate directory gets cleaned if you do a TICS Client run with -recalc.