The Hersteller initiative Software Source Code Metrics – or just HIS Metrics (HIS Metriken) for short – were devised by five working groups from the German automotive manufacturer’s (including Audi, BMW, DaimlerChrysler, Porsche and Volkswagen) with the goal to produce an agreed set of standards for various software development tasks within their industry. HIS Metric reports and compliance have subsequently become a valuable and integral part of automotive software development worldwide.
“Software Metrics are the basis for efficient project and quality management. With software Metrics statements can be made about the quality of the software product and the software development process.” – HIS-SC-Metriken.1.3.1_e.doc
HIS Metrics Klocwork mconf file
Developed by Emenda, the Klocwork HIS Metrics 1.3.1 metrics threshold configuration (mconf) file can be applied to any Klocwork project.
|Comment density||COMF||> 0,2||Yes|
|Number of paths||PATH||1 – 80||Yes|
|Number of goto statements||GOTO||0||Yes (MISRA.GOTO checker)|
|Cyclomatic complexity||v(G)||1 -10||Yes|
|Number of calling functions||CALLING||0 – 5||Yes (ekw_HIS_CALLING.jar)|
|Number of called functions||CALLS||0 – 7||Yes|
|Number of function parameters||PARAM||0 – 5||Yes|
|Number of Instructions per function||STMT||1 – 50||Yes|
|Number of call levels||LEVEL||0 – 4||Yes|
|Number of return points||RETURN||0 – 1||Yes|
|Language scope||VOCF||1 – 4||Yes|
|Number of MISRA HIS Subset violations||NOMV||0||Yes (HIS_Subset_MISRA_C_1.0.2.tconf)|
|Number of MISRA HIS Subset violations per rule||NOMVPR||0||Yes (HIS_Subset_MISRA_C_1.0.2.tconf)|
What is a Klocwork mconf file?
Klocwork metrics threshold configuration (mconf) files are added as project configuration files. Mconf files define metrics thresholds for the project and any instances of methods (or functions), classes or files with a given metric outside of these thresholds will then be reported alongside the standard Klocwork defects. This means that it is possible to have all of your MISRA violations, HIS violations and potential runtime errors all reported together through one interface, both on the Klocwork server, or Klocwork desktop plugins.
Installing the mconf file
To apply your new configuration file to the integration build analysis, import it into a project or the projects_root. The linked article within the Klocwork online documentation provides all the details for installation.
Documentation can be found here.
To use this mconf file, Klocwork v9.0 or later is required.