Protobuf Verification Substitute Header for AI Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Verification and validation of AI applications using Protobuf are slow and time-consuming due to the complexity of Protobuf header files generated by standard code generators, which rely on proprietary libraries difficult to verify.

Innovation Solution

A verification substitute header file is generated based on Protobuf message types, using standard C/C++ libraries instead of proprietary ones, with added verification stubs to ensure memory safety, allowing verification to rely solely on standard C/C++ libraries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard Protobuf code generator is used to generate header files, then Protobuf functionality is achieved, but verification and validation becomes slow and time-consuming

Engineering Contradiction:
Improveverification and validation speedVSAvoidcomplexity of Protobuf header files
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a simplified copy of the Protobuf header file structure that contains only the essential message type definitions without the complex proprietary library implementations. This copy enables verification tools to analyze the data structures without being blocked by the complexity of the original generated headers, thus speeding up verification while maintaining accuracy

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The invention extracts only the necessary message type definitions from the complex Protobuf generated header files, separating them from the proprietary library code. This extraction allows verification tools to focus on the data structures themselves without being hindered by the implementation details of the Protobuf runtime library

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If proprietary Protobuf libraries are used, then full Protobuf functionality is available, but verification becomes difficult and time-consuming

Engineering Contradiction:
Improveverification efficiencyVSAvoidease of verification
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent introduces an intermediary simplified header file that acts as a bridge between the application code and the verification tools. This intermediary contains message type definitions that are compatible with both the Protobuf runtime and verification tools, eliminating the need for verification tools to directly analyze the complex proprietary library code

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3739445B1A generic verification approach for protobuf based projects
Publication Date: 2023.05.03 BAIDU USA LLC
  • EP3739445B1 patent drawingFigure 1A
  • EP3739445B1 patent drawingFigure 1B
  • EP3739445B1 patent drawingFigure 2

AI summary

A method, apparatus, and system for using a verification substitute header file in a verification of an application that uses Protocol Buffers (Protobuf) for data communication is disclosed. The operations comprise: obtaining one or more Protobuf message types from a Protobuf definition file; generating the verification substitute header file based on the Protobuf message types; adding one or more verification stubs to the verification substitute header file; including the verification substitute header file in source code of the application; and performing the verification of the application including the verification substitute header file.