Both IEC 61508 and ISO 26262 highly recommend a modular approach to software development. One question that comes up regularly asks if there are quantitative targets for determining whether sufficient progress has been achieved by software engineers.
IEC 61508-3 Table B.9 Modular approach
ISO 26262-6 Table 1 Topics to be covered by modelling and coding guidelines
When writing a coding guideline for an organization of software engineers sometimes it’s useful to give specific guidance. Especially new developers like to have targets to gauge how well their safety related code matches up with more mature code that has the benefit of longer maintenance.
Manufacture Initiative (Herstellerinitiative Software)
Hersteller German for Manufacturer or possibly OEM is the name of a project group consisting of German automobile manufacturers that got together to establish among other things guidelines for software code metrics. The sort of information that is useful for a coding guideline.
The group consisted of Audi, BMW, Daimler, Porsche and Volkswagen. With over 15 million vehicles sold by German manufacturers in 20171 and suppliers that provide similar parts to many of the rest of world-wide vehicle production it’s hard ignore their recommendations or argue that the targets are anything other than feasible, appropriate, valid, cost effective.
HIS Source Code Metrics version 1.3.1 01.04.2008
Although the original website2 no longer exists and now redirects to an Autosar3 site if you google this section heading or the file “HIS-sc-metriken.1.3.1_e.pdf” you’ll find your own copy to download. There is no copyright asserted and I understand the intention of the work was to benefit software development and standardization of target setting across at least the German Automotive OEMs.
It’s worth noting that your existing static analysis tools may already measure and report these metrics. One example is QAC from PRQA4.
Section 3.1 Metrics with limits
If you want to study this topic some more and the references like MISRA then visit these links:
- “MISRA, The Motor Industry Software Reliability Association, is a collaboration between vehicle manufacturers, component suppliers and engineering consultancies which seeks to promote best practice in developing safety-related electronic systems in road vehicles.”
- High Integrity C++ Coding Standard Version 4.0
- HIC++ V4.0 An overview by the authors
1 Source: https://focus2move.com/world-car-group-ranking/