ASIL or "Automotive Software Integrity Levels" is a risk classification scheme defined by the ISO 26262 standard. ISO 26262 is an extension of the IEC 61508 standard for functional safety of electrical, electronic and programmable electronic safety-related systems.
The ISO 26262 standard defines four ASIL levels: ASIL A, ASIL B, ASIL C, and ASIL D. ASIL D has the highest integrity requirements on the product and ASIL A the lowest.
To follow the ISO 26262 requirements, you can use a certification kit, for instance, the IEC Certification Kit proposed by MathWorks. The IEC Certification Kit allows you to:
- Use a certified tool, Polyspace, in a recommended workflow to certify your code.
- Get credit for the certification.
The IEC Certification Kit contains:
- Tool qualification artifacts, certificates, and test suites
- Credits for use of Polyspace
- Suggested workflow
Besides tool qualification, the IEC Certification Kit also helps to certify source code (but only for a subset of requirements from the standard). If you analyze your source code using Polyspace, you can use the documents in the IEC Certification Kit to achieve requirements related to the following activities:
- MISRA-C compliance
- Absence of run-time errors
- Absence of non-terminating calls and loops
- Absence of unjustified unreachable code
- Data flow analysis
- Classification of any of the previous items as defects or not, with a criticality and a status.
To proceed with the certification of source code, use the SQO (Software Quality Objectives) document provided with the IEC Certification Kit as follows:
1. Install the IEC Certification Kit.
Once installed, you can find all required artifacts here:
This folder contains tool qualification artifacts, certificates, and test suites, and generates traceability matrices.
2. Locate the SQO documents.
The bugfinder and codeprover subfolders contain the SQO documents (certkitiec_bugfinder_sqo.pdf and certkitiec_codeprover_sqo.pdf) that provide a mapping between ISO 26262 methods and Software Quality Requirements (SQR-s). For simplicity, the requirements are grouped into Software Quality Objective levels (or SQO levels 1 to 6). Polyspace products can be used to directly enforce the various SQO levels.
3. Use the tables in the SQO documents to pick one of SQO levels 1 to 6 depending on the ASIL level that you want to reach.
For instance, if you are using Release R2021b of the the IEC Certification Kit, you can combine information from the following three tables in certkitiec_codeprover_sqo.pdf to pick an SQO level:
- Tables on page 25 onwards map methods of the ISO 26262 standard (ISO 26262-6:2018) to Software Quality Requirements (defined earlier in the document).
- A table on page 29 classifies the Software Quality Requirements into SQO levels.
- Tables on page 30 onwards maps the methods of the ISO 26262 standard recommended for each ASIL level to SQO levels.
Depending on the ASIL level that you want to reach, use the tables to pick an SQO level for use in the Polyspace products. Note that the tables on page 30 are only a recommendation and you have the freedom to decide which ISO 26262 methods to implement for each ASIL level. ‘+’ indicates that a method is recommended for an ASIL level and ‘++’ indicates that it is highly recommended.
For more information on enforcing SQO levels with Polyspace, see: