Delta File Compression via Subfunction Extraction
Find Innovative SolutionsGenerate 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, with manual re-factoring and analysis being time-consuming and inefficient, and lacking the ability to accurately identify functional changes within code updates.
Innovation Solution
The implementation of automated code analysis and reconfiguration techniques using machine learning models and abstract syntax trees to identify subfunctions and common blocks, allowing for the creation of reduced-size delta files and executable files, and matching symbols to determine functional equivalences, thereby optimizing software updates and reducing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software is updated over time, then software functionality is improved, but code length and software file size increase
Solution Approach 1:
The patent segments software updates into delta files that contain only the specific changes needed rather than complete software images. This divides the update process into manageable portions, allowing functionality to be improved while keeping individual update files small and targeted.
Solution Approach 2:
The patent extracts and identifies only the substantive functional changes from the full software update, separating them from non-substantive changes. This extraction process creates minimal delta files that contain only the necessary code modifications, reducing overall file size while maintaining functional improvements.
2Adaptability or versatility
If software is updated over time, then software functionality is improved, but software file size increases
Solution Approach 1:
The patent segments software updates into delta files that contain only the specific changes needed rather than complete software images. This segmentation allows functional improvements to be delivered in small, targeted update packages rather than large monolithic files.
Solution Approach 2:
The patent discards non-substantive changes from the update package while recovering and preserving only the essential functional modifications. This selective process eliminates bloat from delta files, maintaining small file sizes even as software functionality accumulates over multiple updates.
3Ease of operation
If manual re-factoring is performed to localize software changes, then code organization is improved, but time and computing resources increase
Solution Approach 1:
The patent implements automated systems that perform code analysis, change identification, and delta file generation without manual intervention. The system self-services the entire process of localizing software changes, automatically identifying substantive modifications and organizing them into structured delta files, thereby eliminating time-consuming manual re-factoring while maintaining excellent code organization.
Solution Approach 2:
The patent replaces manual mechanical processes of code analysis and re-factoring with automated computational systems. Machine learning models and symbolic execution engines automatically analyze code changes, identify functional modifications, and organize delta files, substituting human effort with automated algorithms that achieve the same organizational goals more efficiently.
4Reliability
If thorough testing is performed on every software change, then software reliability is improved, but approval process time increases
Solution Approach 1:
The patent applies partial testing by focusing verification efforts only on the specific substantive changes contained in delta files rather than re-testing entire software systems. This targeted approach maintains reliability by thoroughly testing what actually changed while avoiding redundant testing of unchanged components, significantly reducing approval time without compromising software quality.
Solution Approach 2:
The patent performs preliminary automated analysis and verification of code changes before formal approval processes. By pre-identifying substantive changes and preparing structured delta files with built-in verification data, the system performs necessary testing and validation work in advance, reducing the time required for final approval while maintaining rigorous reliability standards.
Data Source
AI summary
Disclosed herein are techniques for reducing a size of a delta file. Techniques include receiving change code representing a change to device code installed on a device; receiving the device code; identifying, by parsing the change code or a code structure representing the change code, a first function represented by the change code; identifying, by parsing the device code or a code structure representing the device code, a second function represented by the device code; identifying a plurality of subfunctions based on the first and second functions; determining sub-changes to at least some of the plurality of subfunctions, the sub changes being associated with a change to the second function; and generating the delta file comprising object change elements, the object change elements being configured to effect the sub-changes to the device code.


