Compiled Code Compatibility Hash Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Compiled software code versions often exhibit binary incompatibility due to differences in compilers, leading to extensive manual version checking and difficulties in retrieving and editing compiled modules.

Innovation Solution

A computer-implemented method using hashes to identify and manage compatibility between compiled code versions, where a hash is formed from compilation parameters and associated with the compiled code, allowing for verification and potential recompilation or retrieval of compatible code blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual version checking is used to verify compiled code compatibility, then compatibility verification can be performed, but extensive manual effort and time are required

Engineering Contradiction:
Improvecompiled code compatibility verificationVSAvoidmanual version checking time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a hash copy (digital fingerprint) of the compilation parameters instead of manually comparing entire parameter sets or compiled binaries. This hash representation allows for rapid compatibility verification by simply comparing hash values rather than performing extensive manual checks of compilation details.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the compilation parameters into a different form (hash value) that preserves the essential compatibility information while enabling much faster comparison. By changing the parameter representation from detailed compilation settings to condensed hash values, the system achieves rapid compatibility verification.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If compiled code is stored for reuse, then retrieval efficiency is improved, but ensuring compatibility between stored and new compilations becomes more complex

Engineering Contradiction:
Improvecompiled code retrieval efficiencyVSAvoidcompatibility checking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent stores hash copies of compilation parameters alongside compiled code blocks. When retrieving compiled code, the system generates a hash of the current compilation parameters and compares it with stored hashes to verify compatibility, greatly simplifying the complexity of ensuring compatibility between stored and new compilations.

Inventive Principle:
Principle #26Copying

3Measurement precision

If comprehensive compilation parameters are tracked, then compatibility accuracy is improved, but the complexity of managing and comparing parameters increases

Engineering Contradiction:
Improvecompatibility identification accuracyVSAvoidparameter management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms comprehensive compilation parameters into a hash value that maintains the precision needed for compatibility identification while dramatically reducing the complexity of managing and comparing parameters. The hash function preserves all essential compatibility information in a condensed, easily comparable form.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11562522B2Method and system for identifying incompatibility between versions of compiled software code
Publication Date: 2023.01.24 UNITY TECH SF
  • US11562522B2 patent drawing
  • US11562522B2 patent drawing
  • US11562522B2 patent drawing

AI summary

An aspect provides a computer-implemented method for compiling software code. The method comprises: receiving software code to compile; receiving a set of parameters associated with settings and software employed to compile the software code; forming a first hash of the set of parameters to establish a unique identification of the set of parameters used to compile the software code; and associating the first hash with the compiled code. A further aspect provides a computer-implemented method of checking compatibility of compiled software code.