Klocwork 2017.3 ISO 26262, IEC 61508, and EN 50128 certification

Klocwork 2017.3 is qualified to be used in safety-related software development according to IEC 61508, ISO 26262, and EN 50128.

ISO 26262 is a Functional Safety standard published by the International Organization for Standardization (ISO) and is targeted at road vehicle safety. The standard is based heavily on the Functional Safety standard IEC 61508 for Automotive Electric/Electronic Systems, and covers numerous activities and processes in the software development lifecycle. EN 50128 is an industry standard that specifies the requirements for development of functional safety related software in railway applications.

Developers can use the certified set of Klocwork checkers to find and fix security vulnerabilities and critical defects with confidence, knowing they have been designed, developed, tested and released in an audited and certified manner. Klocwork also provides guidance to ensure that developers use our static analysis tool in a functionally safe way that supports their own application for ISO 26262 certification.

While software verification tools cannot, on their own, ensure compliance with ISO 26262, they can aid developers looking to demonstrate process compliance. Static Code Analysis tools can either fully or partially address many of the requirements found in Part 6 of the standard. This section covers “Product Development at the Software Level” for the functional safety of road vehicles and examines correctness of software design and implementation. Klocwork’s full-featured source code analysis solution helps developers find and fix security vulnerabilities and critical defects the moment they’re introduced. MISRA-C and MISRA-C++ coding standard violations can be reported automatically at the developer desktop, integration build, continuous integration build, and through the code review tool.

What do you need to know?

The Klocwork certification is documented in the Functional Safety Manual for Klocwork and related documents. These documents describe the conditions under which the use of Klocwork supports functional safety.

Qualification pack

The qualification pack, as described in the Functional Safety Manual for Klocwork, is available from your account executive. The Qualification Pack test procedures check the requirements under normal operating conditions. Each procedure provides input data that generates a validated pass/fail report for each checker. The tool is deterministic in its execution and generates the same output results for a given set of input data parameters. To validate that you have the currently supported Qualification Pack for Klocwork 2017, you can compare the MD5 checksum, which should be 6c62852bb7833b5e6ee1fae7bc094fd4 .

Checkers added between Klocwork 2017.2 and 2017.3

MISRA.TOKEN.CPCOM.MULTILINE.2012Implements MISRA C 2012 Rule 3.2: Line-splicing shall not be used in // comments.
MISRA.FUNC.NODECL.CALL.2012Implements MISRA C 2012 Rule 17.3: A function shall not be declared implicitly.
MISRA.DEFINE.WRONGNAME.C90.2012Implements MISRA C 2012 Rule 20.4: A macro shall not be defined with the same name as a keyword.
MISRA.DEFINE.WRONGNAME.C99.2012Implements MISRA C 2012 Rule 20.4: A macro shall not be defined with the same name as a keyword.
MISRA.STDLIB.INCOMPAT_ARGS.2012_AMD1Implements MISRA C 2012 Rule 21.15: The pointer arguments to the Standard Library functions memcpy, memmove and memcmp shall be pointers to qualified or unqualified versions of compatible types.

Checkers modified between Klocwork 2017.2 and 2017.3

ABV.GENERALNew defects detected.
INFINITE_LOOP.LOCALNew defects detected.
MISRA.ETYPE.ASSIGN.2012Fewer false positives are expected.
MISRA.STMT.COND.NOT_BOOLEAN.2012Fewer false positives are expected.