Symbol Matching for Software Version Delta Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for software analysis and reconfiguration in IoT systems, such as vehicles, face challenges with complex and disorganized software updates, leading to increased code length, file size, and resource strain, as well as inefficiencies in identifying and implementing changes, particularly due to the lack of comprehensive tools for analyzing and reconfiguring code effectively.

Innovation Solution

The implementation of methods and systems that utilize line-of-code behavior and relation models to automatically reconfigure code by analyzing function and subfunction complexity, identifying common blocks, and generating reduced-size delta files, leveraging machine learning models to optimize code efficiency and reduce processing burdens.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software is updated over time, then software functionality is improved, but code length and software file size increase

Engineering Contradiction:
Improvesoftware functionalityVSAvoidcode length
Core Design Contradiction:
Adaptability or versatilityVSLength of stationary object

Solution Approach 1:

The patent segments software updates into delta files that contain only the specific changes needed rather than complete software packages. This divides the update process into manageable portions, allowing functionality to be improved while keeping individual update files small and focused on specific code modifications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and identifies only the necessary code changes (delta) from the full software update. By using symbol matching and change detection algorithms, the system extracts minimal necessary modifications, removing unnecessary code bloat while preserving essential functionality improvements.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If software is updated over time, then software functionality is improved, but software file size increases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidsoftware file size
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

The patent segments software updates into delta files that contain only the specific changes needed rather than complete software packages. This divides the update process into manageable portions, allowing functionality to be improved while keeping individual update files small and focused on specific code modifications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the fundamental parameter of software delivery from complete binary files to incremental delta files. This parameter change allows the system to transmit and store only the differences between versions, dramatically reducing file size while maintaining the ability to deliver full functionality updates.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If comprehensive software updates are implemented, then software functionality is improved, but processing resources and storage resources are strained

Engineering Contradiction:
Improvesoftware functionalityVSAvoidprocessing resources
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by implementing only the necessary subset of changes in delta files rather than complete software replacements. This allows the system to update functionality with minimal processing overhead, applying just enough change to achieve the desired functional improvement without overwhelming device resources.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent extracts and identifies only the necessary code changes (delta) from the full software update. By using symbol matching and change detection algorithms, the system extracts minimal necessary modifications, removing unnecessary code bloat while preserving essential functionality improvements.

Inventive Principle:
Principle #2Taking out (Extraction)

4Device complexity

If manual re-factoring of functions is performed, then code complexity is reduced, but time and computing resources are consumed

Engineering Contradiction:
Improvecode complexityVSAvoidre-factoring time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements self-service by using automated algorithms to perform symbol matching, change detection, and delta file generation. The system automatically analyzes code differences and generates re-factored updates without requiring manual intervention, thereby reducing code complexity while minimizing the time and computational resources expended.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical re-factoring processes with automated computational algorithms. Symbol matching algorithms and change detection systems automatically perform the work that would otherwise require manual code analysis and re-factoring, dramatically reducing time consumption while maintaining or improving code complexity reduction effectiveness.

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

5Adaptability or versatility

If low-substance changes are made to code, then software adaptability is improved, but code length increases due to lack of vision into changes

Engineering Contradiction:
Improvesoftware adaptabilityVSAvoidcode length
Core Design Contradiction:
Adaptability or versatilityVSLength of stationary object

Solution Approach 1:

The patent implements feedback mechanisms that track and analyze code changes to distinguish between substantive and non-substantive modifications. By providing visibility into what changes actually affect functionality versus those that do not, the system can filter out unnecessary code length increases while preserving essential adaptability improvements.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces manual mechanical re-factoring processes with automated computational algorithms. Symbol matching algorithms and change detection systems automatically perform the work that would otherwise require manual code analysis and re-factoring, dramatically reducing time consumption while maintaining or improving code complexity reduction effectiveness.

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

Data Source

PatentUS12141577B2Symbol-matching between software versions
Publication Date: 2024.11.12 AURORA LABS LTD
  • US12141577B2 patent drawing
  • US12141577B2 patent drawing
  • US12141577B2 patent drawing

AI summary

Disclosed herein are techniques for matching symbols between code sets. Techniques include accessing a first symbol associated with a first version of software; accessing a second symbol associated with a second version of the software; comparing the first symbol to the second symbol; determining, based on the comparing, whether the second symbol is a functional equivalent of the first symbol; and performing a designation action based on whether the second symbol is a functional equivalent of the first symbol.