Compiler Plugin for Vendor Function Safety Agreement Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face significant challenges in ensuring that functions provided by vendor libraries comply with functional safety standards, as manually verifying compliance is time-consuming and resource-intensive, slowing down the development process.

Innovation Solution

A compiler plugin is introduced to verify during compilation whether vendor-provided functions in the code are compliant with safety agreements, such as FUSA, by using an abstract syntax tree to identify vendor functions and comparing them against a profile of compliant functions, and failing the compilation if non-compliant functions are detected.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual verification of vendor function compliance is performed, then compliance accuracy is improved, but development time increases

Engineering Contradiction:
Improvecompliance verification accuracyVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The compiler plugin automatically performs compliance verification during the compilation process itself, making the verification system self-sufficient without requiring separate manual review steps. The plugin extracts function declarations, checks vendor attribution, and validates compliance independently, enabling the compilation process to self-verify compliance and eliminate dependency on manual verification while maintaining accuracy

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical verification process with an automated computational system. The compiler plugin uses algorithmic approaches to parse code, identify vendor functions, and check compliance automatically during compilation, substituting human manual inspection with machine-based automated verification that achieves both high accuracy and efficiency

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If automated compiler plugin verification is implemented, then development efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidcompiler system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compiler plugin is designed as a multi-functional component that integrates multiple capabilities: code parsing, vendor function identification, compliance rule checking, and error reporting all within a single unified system. This universal approach consolidates what could be separate complex systems into one cohesive plugin, achieving high productivity while managing complexity through functional integration

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary abstract syntax tree (AST) representation layer between the source code and the compliance verification logic. This AST intermediary simplifies the complexity by providing a standardized, structured view of the code that the plugin can systematically analyze, decoupling the verification logic from the specific code structure and making the system more manageable

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If comprehensive compliance checking is performed on all vendor functions, then safety reliability is improved, but processing overhead increases

Engineering Contradiction:
Improvefunctional safety reliabilityVSAvoidcompilation processing overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The plugin extracts and identifies only the vendor-provided function declarations from the user code, separating them from user-defined functions. This extraction approach allows compliance checking to be applied selectively only to vendor functions rather than all functions in the codebase, maintaining comprehensive safety verification while reducing unnecessary processing overhead on user code

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial action by applying compliance checking only to vendor functions rather than all functions. The system performs excessive action on the necessary subset (vendor functions) while avoiding unnecessary processing of user functions, achieving the minimum required verification effort for safety compliance without wasteful overhead

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250328326A1Compiler plugin for enforcing safety agreements
Publication Date: 2025.10.23 RED HAT INC
  • US20250328326A1 patent drawing
  • US20250328326A1 patent drawing
  • US20250328326A1 patent drawing

AI summary

Techniques for verifying whether vendor-provided functions that are used in application code are compliant with a safety agreement are disclosed. Code comprising a plurality of functions are received at a compiler. During compilation of the code, a plugin of the compiler may determine whether each of the plurality of functions originates from a vendor. For each function originating from the vendor, the plugin may determine if the function is listed in a profile comprising a list of safety agreement compliant functions. The plugin may identify as compliant with the safety agreement, each function originating from the vendor that is listed in the profile.