Compiler Plugin for Vendor Function Safety Agreement Checks
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If manual verification of vendor function compliance is performed, then compliance accuracy is improved, but development time increases
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
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
2Productivity
If automated compiler plugin verification is implemented, then development efficiency is improved, but system complexity increases
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
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
3Reliability
If comprehensive compliance checking is performed on all vendor functions, then safety reliability is improved, but processing overhead increases
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
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
Data Source
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.


