Function-Criticality Software Classification for Partial Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software update management techniques are inefficient and resource-intensive, often requiring interruptions and wasteful use of processing and memory resources due to incompatibilities between legacy and new software versions, and fail to address update failures effectively.
Innovation Solution
A system that classifies software codes based on functionality, criticality levels, and common flow paths, deploys them into different racks, monitors updates, and addresses failures by switching back to the current version upon error detection, using video recordings and log files for recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software code is updated from legacy to new version, then software functionality is improved, but processing resources are wasted due to interruptions and restarts
Solution Approach 1:
The software code is divided into multiple functions, and the system identifies and updates only the specific functions that need modification rather than interrupting and restarting the entire software code. This segmentation allows partial execution to continue while updating specific portions, reducing processing resource waste.
Solution Approach 2:
The system performs preliminary analysis to identify common flow paths and critical functions before updating. By pre-identifying which functions can be updated independently and which require coordination, the system avoids unnecessary interruptions and restarts, thereby reducing processing resource consumption during updates.
2Reliability
If all functions of software code are tested during update, then update reliability is improved, but processing time and resources increase significantly
Solution Approach 1:
The system extracts and identifies the main function from multiple functions in the software code. During testing, it focuses specifically on testing whether the main function operates as expected after updates, rather than testing all functions comprehensively. This extraction approach maintains update reliability while significantly reducing testing time and processing resources.
Solution Approach 2:
The system performs partial testing by focusing only on the main function and critical paths rather than exhaustive testing of all functions. This partial action approach is sufficient to ensure update compatibility while avoiding the excessive time and resource consumption of complete testing.
3Adaptability or versatility
If software code execution is interrupted for updates, then new functionality is deployed, but productivity is reduced due to restarts
Solution Approach 1:
The system dynamically determines which functions can be updated during execution and which require interruption. By dynamically analyzing the software code structure and execution state, it allows updates to proceed without interruption for functions that can be updated independently, thereby maintaining productivity while enabling software version updates.
Solution Approach 2:
The system maintains continuous execution of software code by updating only specific functions rather than interrupting the entire execution flow. This continuity allows the software to remain productive during updates, as non-affected functions continue to execute while update-related functions are modified and tested.
4Productivity
If software code is classified and deployed into different racks, then resource allocation is optimized, but system complexity increases
Solution Approach 1:
The system implements a universal classification framework that can categorize software code by multiple criteria (functionality, criticality, dependencies) using the same rack structure. This multi-functional classification approach optimizes resource allocation across different dimensions without requiring separate complex systems for each classification type.
Data Source
AI summary
A system for classifying software code determines a first function, a first set of operations, and a first criticality level of a first software code. The system determines a second function, a second set of operations, and a second criticality level of the second software code. The system determines that the first function of the first software code corresponds to the second function of the second software code. The system compares the operations of the first software code with the operations of the second software code and determines that the first and second software code have at least one operation in common with each other. The system determines that the first criticality level of the first software code corresponds to the second criticality level of the second software code. In response, the system classifies the first software code and the second software code in a first group.


