Whitepaper: Using AUTOSAR C++ Coding Guidelines to Streamline ISO 26262 Compliance

ISO 26262 gives guidance on software development and V&V processes but doesn’t go in depth at the level of language constructs. Comply with ISO 26262 by using a static analysis tool that’s configured with AUTOSAR C++ 14 compliance checkers.

See how organizations are turning to coding standards like MISRA C/C++ or AUTOSAR C++ to gain the proper guidance on language constructs.

Using AUTOSAR C++ Coding Guidelines to Streamline ISO 26262 Compliance

Download the complete whitepaper to better understand how to use AUTOSAR C++ to streamline ISO 26262 compliance.

Key takeaways:

  • Overview of AUTOSAR C++ coding guidelines
  • Overview of ISO 26262 road vehicles functional safety
  • How to establish compliance with ISO 26262
  • How to use the AUTOSAR C++ coding standard to streamline compliance with ISO 26262

Automated driving, advanced safety systems and other new functionalities are expected features in modern cars. Consequently, automotive software development has experienced a paradigm shift. The C language previously ruled the automotive space, but today it’s inadequate given the complexity of automotive software architecture.

Object-oriented design is required, which makes C++ the natural choice for most automotive teams. At the same time, C++ is a complicated language. It requires considerable effort to ensure predictability, safety and security. ISO 26262, the automotive functional safety standard, offers basic guidance on software development and V&V processes, but doesn’t address the level of language constructs in detail. Most organizations use coding standards like MISRA C/C++ or AUTOSAR C++ for this guidance. As such, it’s helpful to use a static analysis tool configured with AUTOSAR C++14 compliance checkers to effectively comply with ISO 26262.

  • The AUTOSAR C++ 14 coding standard is a part of Adaptive AUTOSAR, a platform for developing automotive control units. The platform is developed by an association of automotive companies and provides the specification of interfaces for services and APIs. There are commercial implementations of the AUTOSAR platform provided by several vendors that can be used for developing automotive systems.   
  • The Adaptive AUTOSAR specification was designed with the C++ 14 language and includes a coding standard that restricts the usage of C++ 14 to the constructs that are predictable and don’t lead to unnecessary risk.
  • The coding standard contains more than 300 coding guidelines grouped into different categories. Static analysis tools can help to enforce compliance with the coding guidelines.
  • ISO 26262 is a functional safety standard for road vehicles. The standard focuses on electrical and/or electronic systems in production cars.
  • ISO 26262 addresses the functional-safety related aspects of development activities and work products, defining functional-safety as “the absence of unreasonable risk due to hazards caused by malfunctioning behavior of electrical or electronic systems.”
  • ISO 26262 consists of ten parts that address different aspects of the product development process, including requirements specification, design, implementation, integration, verification, validation, and configuration.
  • Part 6 of the standard focuses on product development at the software level, including methods and requirements needed for the software development and testing processes that must be followed to achieve compliance.

Compliance with a functional safety standard like ISO 26262 requires significant effort and needs to be an integrated part of the project from the beginning. Even in the case of the software components, compliance requires specific activities during requirements gathering, planning, and implementation and it can’t be added later.

ISO 26262 specifies a group of methods for establishing compliance with the standard. To claim compliance, you must provide evidence that appropriate requirements and methods have been implemented.

Following a coding standard like AUTOSAR C++ is a widely accepted method for satisfying some of the requirements stemming from ISO 26262. AUTOSAR C++ 14 provides the traceability tables that map ISO 26262 principles and recommendations to the appropriate coding guidelines. The
mapping covers mainly section 8 of Part 6 of ISO 26262, and simplifies the process of
achieving compliance with corresponding methods and requirements from the standard.

Introducing the coding standard compliance process into the team development workflow isn’t easy. As such, it’s very important to select a tool that will achieve compliance without imposing too much overhead and without the requirement for additional manual procedures. The following points are important decision-making factors when selecting the solution for static analysis:

  1. Coverage of the coding guidelines from the standard

The most up-to-date version of the AUTOSAR coding standard contains at this moment approximately 400 guidelines, with 350 enforceable with static analysis. Supporting this number of guidelines is a challenge for static analysis tool vendors. Remember: not all static analysis tools available on the market cover the standard sufficiently enough for compliance.

  1. Support for data and flow technology 

Guidelines defined in the AUTOSAR C++ coding standard have different levels of complexity. There are also guidelines that require sophisticated data and control flow analysis to simulate the paths in the analyzed source code and decide if a given guideline is violated or not. When benchmarking a static analysis tool, pay special attention to comparing results for more complex guidelines, which require flow analysis technology. 

  1. Support for tool qualification

AUTOSAR C++ doesn’t explicitly require tool qualification to approve the static analysis solution for use, but ISO 26262 does. When you’re planning to use AUTOSAR C++ for streamlining the compliance with ISO 26262, choose a static analysis solution that supports end-users with appropriate certificates and a qualification kit.

About Parasoft

Parasoft helps organizations continuously deliver quality software with its market-proven, integrated suite of automated software testing tools. Supporting the embedded, enterprise, and IoT markets, Parasoft’s technologies reduce the time, effort, and cost of delivering secure, reliable, and compliant software by integrating everything from deep code analysis and unit testing to web UI and API testing, plus service virtualization and complete code coverage, into the delivery pipeline. Bringing all this together, Parasoft’s award winning reporting and analytics dashboard delivers a centralized view of quality enabling organizations to deliver with confidence and succeed in today’s most strategic ecosystems and development initiatives — security, safety-critical, Agile, DevOps, and continuous testing.