Compiler Toolchain Qualification via Code Coverage Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for qualifying compiler toolchains for functional safety standards, such as ISO 26262, are complex and costly, requiring high code coverage metrics and validation across all configuration options, which is inefficient and resource-intensive.

Innovation Solution

A methodology that focuses on quantifying the portion of compiler source code invoked during safety-related software compilation, allowing for reduced code coverage analysis and incremental qualification based on changes in compiler flags, thereby simplifying the toolchain qualification process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full compiler validation across all configuration options is performed, then functional safety compliance is achieved, but qualification complexity and cost increase significantly

Engineering Contradiction:
Improvefunctional safety complianceVSAvoidqualification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the compiler validation process by dividing the compiler into distinct components (front-end, middle-end, back-end) and further dividing validation into phases (syntax validation, semantic validation, code generation validation). This segmentation allows each component to be validated independently rather than requiring full compiler validation, reducing overall qualification complexity while maintaining functional safety compliance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by validating only the specific compiler components and configuration options that are actually used for functional safety-critical software compilation. Instead of validating all compiler features uniformly, the validation scope is localized to the relevant portions, reducing unnecessary validation effort while ensuring safety compliance for the critical paths.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If comprehensive code coverage metrics are required, then validation thoroughness is improved, but validation time and resource consumption increase

Engineering Contradiction:
Improvevalidation thoroughnessVSAvoidvalidation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements partial action by requiring code coverage metrics only for the specific compiler components and execution paths that are relevant to functional safety-critical compilation. Instead of demanding 100% code coverage across the entire compiler, the requirement is applied selectively to the validated portions, reducing validation time while maintaining sufficient thoroughness for safety assurance.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all compiler configuration options are validated, then compliance assurance is improved, but qualification cost increases

Engineering Contradiction:
Improvecompliance assuranceVSAvoidqualification effort
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and validates only the essential compiler configuration options that directly impact functional safety-critical software compilation. Non-essential or irrelevant configuration options are excluded from the validation scope. This extraction approach maintains compliance assurance for the critical configuration options while significantly reducing the overall qualification effort and resources required.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12242831B2Optimized compiler toolchain qualification for functional safety compliance
Publication Date: 2025.03.04 INTEL CORP
  • US12242831B2 patent drawing
  • US12242831B2 patent drawing
  • US12242831B2 patent drawing

AI summary

Various systems and methods for implementing functional safety verification of a software compiler and a compiled software product are disclosed. In an example, verification of functional safety testing requirements includes: generating first code coverage data for a compiler (e.g., a toolchain testsuite code coverage report), the first code coverage data based on a plurality of validation tests of the compiler; performing compilation of a software product (e.g., application, library, operating system) with the compiler; generating second code coverage data (e.g., a toolchain safety application code coverage report) for the compilation of the software product, based on lines of source code invoked in the compiler with the compilation of the software product; and outputting data for verification of functional safety testing requirements based on a comparison of the first code coverage data for the compiler with the second code coverage data for the compilation of the software product.