Abstract Syntax Tree Code Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining the integrity of code execution are resource-intensive and lack efficient mechanisms to detect manipulation or distortion caused by physical attacks or environmental influences, such as bit flips in semiconductor circuits.

Innovation Solution

A method that involves creating an abstracted representation of program code by identifying reference signatures for basic blocks, executing the code, and comparing these signatures to detect any deviations from intended execution paths, thereby ensuring the integrity of code execution while minimizing resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code fragments are executed in parallel to ensure integrity, then reliability of code execution is improved, but device complexity and resource consumption increase

Engineering Contradiction:
Improvecode execution integrityVSAvoidsoftware architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a simplified copy or representation of the code structure (abstract syntax tree) that mirrors the essential execution paths without duplicating the full code functionality. This allows integrity verification through comparison of the abstract representation before and after execution, avoiding the need for full parallel execution while maintaining reliability detection capability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary abstract syntax tree representation that serves as a mediator between the original code and the integrity verification process. This intermediate structure captures the essential control flow and data flow information needed for integrity checking without requiring complex parallel execution architectures

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple integrity checking measures are implemented, then reliability of code execution is improved, but loss of time and processing power increase

Engineering Contradiction:
Improvecode execution integrityVSAvoidintegrity determination time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential structural information from the code into an abstract syntax tree, separating the critical integrity-related elements from the full code implementation. This extraction allows for rapid comparison and integrity verification without processing the entire code base, significantly reducing time loss while maintaining reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent divides the code into segmented basic blocks and represents their relationships in a structured abstract syntax tree. This segmentation allows integrity checking to focus on specific control flow and data flow paths independently, enabling parallel or sequential verification of individual segments without blocking the entire system, thus reducing overall processing time

Inventive Principle:
Principle #1Segmentation

3Reliability

If parallel execution of code fragments is performed for integrity checking, then reliability is improved, but use of energy and processing power increases

Engineering Contradiction:
Improvecode execution integrityVSAvoidprocessing energy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent creates a lightweight abstract representation (copy) of the code structure that can be verified without executing the full code in parallel. This abstract copy requires minimal processing energy compared to full parallel execution, while still providing reliable integrity detection through structural comparison

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs partial integrity checking by verifying only the essential control flow and data flow paths represented in the abstract syntax tree, rather than executing and verifying all code paths in parallel. This partial action approach achieves sufficient reliability for security-critical applications while dramatically reducing energy consumption

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10146655B2Method for determining an intergrity of an execution of a code fragment and a method for providing an abstracted representation of a program code
Publication Date: 2018.12.04 INFINEON TECHNOLOGIES AG
  • US10146655B2 patent drawing
  • US10146655B2 patent drawing
  • US10146655B2 patent drawing

AI summary

A method for determining an integrity of an execution of a code fragment is provided. The method includes identifying a reference signature for the code fragment within an abstracted representation of a program code comprising the code fragment. Further, the method includes executing the code fragment and determining a signature of the executed code fragment. The method includes comparing the signature with the reference signature.