Code Reconfiguration via Subfunction Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software update systems for IoT devices, such as vehicles, face challenges with complex and disorganized software changes, leading to increased code length, file size, and resource strain, as well as inefficient reconfiguration processes that result in costly and lengthy update processes.

Innovation Solution

The implementation of code analysis and reconfiguration techniques using machine learning models to identify and restructure functions and symbols, forming smaller delta files by determining subfunctions and common blocks, and matching symbols to reduce update file sizes and 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 changes into delta files that contain only the specific functions or code portions that have changed, rather than updating the entire software suite. This segmentation allows functionality to be updated while keeping individual update files small and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary changed portions (delta) from the full software update, separating substantive functional changes from non-substantive changes. This extraction process creates minimal update files that contain only what is needed, reducing overall code length in update packages.

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 divides software updates into segmented delta files that contain only changed portions, enabling functional updates without proportionally increasing overall file size. The segmentation allows selective updating of only necessary components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of update file composition by using symbolic references and cross-references instead of duplicating full code, dramatically reducing update file size while maintaining functional capability.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

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

Engineering Contradiction:
Improvecode complexityVSAvoidreconfiguration time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements automated systems that perform code analysis, delta identification, and reconfiguration tasks without manual intervention. The system automatically analyzes code structure, identifies substantive changes, and generates delta files, eliminating the need for manual re-factoring while reducing complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes of code analysis and re-factoring with automated computational algorithms and machine learning models that can rapidly analyze code structure and identify changes without human time investment.

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

4Reliability

If comprehensive software testing is performed, then software reliability is improved, but approval process time increases

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidapproval process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and focuses testing efforts only on the specific delta portions that have changed, rather than re-testing entire software suites. This extraction approach maintains reliability by thoroughly testing changed areas while dramatically reducing overall approval time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial testing action by concentrating comprehensive testing resources only on the necessary changed portions (delta files) rather than performing excessive full-system testing, achieving adequate reliability with reduced time investment.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11693635B1Automatic code reconfiguration based on function and subfunction analysis
Publication Date: 2023.07.04 AURORA LABS LTD
  • US11693635B1 patent drawing
  • US11693635B1 patent drawing
  • US11693635B1 patent drawing

AI summary

Disclosed herein are techniques for automatically reconfiguring code based on function and subfunction analysis. Techniques include determining, by parsing a code structure representing a plurality of functions, that at least one first function has a threshold degree of complexity; identifying, in response to the determination, a plurality of subfunctions based on the at least one first function, the plurality of subfunctions having a commonality with the at least one first function; and forming a second function by reconfiguring the first function to call at least one of the identified plurality of subfunctions.