The automotive industry has never before experienced such a rapid period of change, and as our vehicles become more connected, more able to take over some of the driving functions and, eventually, be able to drive themselves, the rate of change is going to increase even further in the coming years. The major part of this change will be in software. Already, some ninety per cent of automotive innovations are based on software-driven electronic components that account for nearly half of a vehicle’s development costs.
Such development also requires changes to the way the industry works and in the standards it employs. The AUTOSAR open systems architecture is a good example. This was developed to help car makers deal with this growing software complexity while at the same time trying to keep costs under control. The original version – the Classic Platform – provided guidelines for basic microcontrollers that had to handle real-time and safety critical requirements. But as the industry moves to more connected and autonomous vehicles, so AUTOSAR has evolved with the Adaptive Platform that covers 32- and 64-bit microprocessors with external memory, parallel processing and high bandwidth communications.
PRQA was invited by AUTOSAR to become a development partner and join the working group to develop its Guidelines for the C++ 14 language. With the announcement of the latest release of the Adaptive Platform standard, we thought it was a good time to produce a whitepaper looking at the AUTOSAR coding guidelines.
We are the only static language development partner in AUTOSAR and we contribute our expertise in C++ and best practice software development. Our whitepaper explains why these coding guidelines are needed, who will use them and how software engineers can ensure that their code complies with the guidelines. Also worth pointing out is that AUTOSAR used our QA·C++ static analysis tool to ensure the quality of the Adaptive Platform Demonstrator used to validate the AUTOSAR internal implementation.
This whitepaper will also be relevant for those working outside the automotive sector but developing embedded software in C++ 14, as a static analysis tool can put an end to manual code reviews that are error prone and do not scale to today’s large and complex code bases.
Within the automotive industry, AUTOSAR will be the platform on which future applications will be implemented. If you are using C++ 14 to develop embedded software, we suggest you take a look at our whitepaper to understand what AUTOSAR is about, why it is important and how using a static analysis tool such as QA·C++ will help you produce error-free code that complies with the guidelines.