Code Reconfiguration via Subfunction Analysis
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, 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
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 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.
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.
2Adaptability or versatility
If software is updated over time, then software functionality is improved, but software file size increases
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.
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.
3Device complexity
If manual re-factoring of functions is performed, then code complexity is reduced, but time and computing resources are consumed
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.
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.
4Reliability
If comprehensive software testing is performed, then software reliability is improved, but approval process time increases
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.
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.
Data Source
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.


