ARM Compiler Qualification Kit
Confidence in ARM Tools, Confidence in Your Systems
Compilers are critically important to safety-related applications as they can potentially inject faults into the system. Functional Safety standards such as IEC 61508 and ISO 26262 require you as a developer to justify the usage of your compiler and demonstrate confidence in your toolchain.
The ARM® Compiler Qualification Kit provides confidence-building evidence which can be used to make a toolchain justification argument for safety-related projects. The evidence is delivered as a set of reports that you, the manufacturer, can combine with your own in-house evidence to make a thorough justification argument.
As the product manufacturer you carry overall liability and so having access to toolchain justification evidence and supporting material is paramount. Third party “certification” of a compiler often fails to take into account the context of a project, leading to inflexible reports, toolchain restrictions and a lack of tangible evidence.
The ARM Compiler Qualification Kit requires ARM Compiler version 5.04, available in DS-5 5.17 (Dec 2013) and also Keil MDK 5.1 (Jan 2014). For customers who require 5.04 sooner, please contact ARM to learn about options for retrofitting ARM Compiler 5.04 into older versions of MDK or DS-5.
The ARM Compiler Qualification Kit provides toolchain justification evidence and supporting documentation as a set of detailed reports:
The Safety Manual contains important information relevant to software development in safety-related products. The most important role the Safety Manual plays is to inform you how to set up and use the toolchain components of the ARM Compiler toolchain to minimize the chance of undetected safety-related faults.
- Description of the high level safety-related faults that the components of ARM Compiler can generate.
- Description of the communication between the tools, which shows how faults might propagate.
- Mitigation strategies that can be followed to prevent or work-around faults.
- Identification of specific behavior of toolchain components of ARM Compiler that can be unsafe if used incorrectly.
Development Process Document
It is often impractical to travel to the vendor's site to gain an insight into the development of a toolchain. The Development Process document provides insight into the internal software development process used to produce the compilation toolchain. The Development Process document outlines the following:
- Procedures for requirements and defect management
- Procedures for configuration management
- Traceability between source code commits and defects or requirements
- Testing strategy and validation procedures
- Release management procedures
The Test Report provides C language conformance test results, demonstrating that the compiler generates correct output based on ISO C90 and C99 C language conformant input. The Test Report contains:
- C conformance test results
- Description of the environment and compiler settings used to generate the test results
- Explanation of any deviations from a 100% pass-rate
Users don’t generally have visibility of vendor-detected defects due to internal testing or of defects reported by other users of the product. The Defect Report contains a listing of all known safety-related defects found through internal testing and from external defect reports. The Defect Report contains:
- A description of each issue
- Conditions necessary for the issue to appear
- Example code for reproducing the issue
- How to avoid the issue
ARM Compiler Extended Maintenance
Once the justification argument is made for a particular toolchain, that evidence can be used for future projects, but toolchain obsolescence becomes an issue as most toolchain vendors don’t maintain older versions for more than 1-2 years. The ARM Compiler Extended Maintenance program helps protect your investment by providing long-term maintenance of the toolchain.