Klocwork Custom Checker Development
Many organisations have internal coding guidelines or standards that are not supported by the Klocwork standard checkers. These can range from simple naming guidelines to class inheritance guidelines. Emenda provides a service that initially reviews the guidelines and generates a report detailing any guideline rules that are covered by the existing Klocwork checkers and which can be developed to extend the coverage of the guidelines. The required custom checkers can then be developed by Emenda’s internal development team.
The checker package provided by Emenda will include the additional custom checkers and help text for each rule. A Klocwork taxonomy will be also be included that allows all the guideline related rules (both existing and custom) to be grouped and enabled by a single click. The taxonomy can also include references to internal id’s related to the checkers that improve the relation between a raised Klocwork issue and the original guidelines.
An Example of Deployed Custom MISRA Checkers
As Klocwork’s longest serving European reseller and support partner, Emenda has built up a wealth of expertise helping integrate the tool into many organisations’ environments and workflows. An integral part of extending Klocwork’s capabilities is the development of custom checkers that help users adhere to their coding standard automatically, without having to search through a lengthy spreadsheet or document. Coupled with Klocwork’s connected desktop, not only can developers and project leads ensure that their code is safe, secure and compliant during development but adheres to the organisation’s internal guidelines.
In addition to creating checkers for coding guidelines, we also can increase coverage on existing coding standards and implement currently unsupported checks for other standards where appropriate.
Enforcing coding guidelines early in the development – either on the desktop or as part of the CI processes – tends to encourage acceptance and learning so Klocwork becomes a developer training tool as much as an enforcement tool.