TICS Analyzer

The TICS Analyzer generates coding standard violations at the desktop of the individual software engineer. It is a small layer on top of existing code checkers. The TICS Analyzer can combine the results of different code checkers in a uniform way (you don’t even see that these code checkers have been used). The TICS Analyzer is available as a command-line tool but it is usually also integrated in the available programming environment. For instance, here is a screenshot of the integration of the TICS Analyzer in Visual Studio (click on the picture to see the details).

The highlighted menu bar is the TICS plug-in. It is integrated in such a way that one can jump from a violation to the location in a file with a single click. This is to support a fast check-click-edit cycle. If supported by the programming environment, there is also a single-click facility that links the violation to the company specific coding standard or coding standard database.

The philosophy of the TICS Analyzer is to show only violations that are relevant for an engineer. For instance, only the violations of the opened file are shown (not the violations of the included header files). Another powerful feature is that the TICS Analyzer contacts the TICS Database to see what violations have been introduced since last check-out. See the picture below for an example.

Here you see that 3 new violations of rules with critical severity level 3 have been introduced. It is even possible to show only those 3 critical new violations. This is especially convenient in case there are already a lot of existing violations in the code. This delta information is also used to generate a so called SQA statement at the end of the analysis to indicate whether the current file will be accepted for check-in. In the example above the file will be rejected because 3 violations of level 3 have been introduced. This SQA statement is configurable.

Detailed user documentation of the TICS Analyzer can be found here. An overview of all supported code checkers, programming IDEs, etc. can be found here. Note that TICS is a framework. It is set up in such a way that it is fairly easy to add a new code checker, build environment, etc.