Dynamic Application Repair via Segmented Code Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The lengthy process of reviewing and repairing third-party applications on mobile terminals, such as iOS, results in delayed updates, increased costs, and a higher crash rate, negatively impacting user experience.
Innovation Solution
A method and system for dynamically repairing applications by receiving a pre-configured repaired program segment from a server, storing its address in the application, and executing it during runtime, allowing for online updates without taking the application offline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the application undergoes formal review process before release and after repair, then the application quality and stability are improved, but the repair time and cost increase significantly
Solution Approach 1:
The application is segmented into multiple independent program segments, each with its own entry point and functionality. This allows individual segments to be repaired and updated independently without requiring review of the entire application, thus reducing repair time while maintaining quality through targeted updates of only the affected segments.
Solution Approach 2:
The system implements dynamic code loading and execution mechanisms that allow repaired program segments to be loaded and executed without traditional reinstallation and reapproval processes. The application can dynamically switch between original and repaired segments, enabling rapid updates while maintaining quality assurance through the structured segment architecture.
2Reliability
If the application is taken offline for repair and reapproval, then the errors are fixed and quality is improved, but the productivity and user experience deteriorate
Solution Approach 1:
The application structure is prepared in advance with pre-defined program segments and entry points that facilitate quick repairs. When errors are detected, the system can immediately load pre-prepared repaired segments without requiring full application reapproval, thus maintaining error correction while significantly improving update speed and avoiding offline periods.
Solution Approach 2:
The system introduces an intermediary mechanism (program segment management layer) that sits between the application code and the execution environment. This intermediary enables rapid deployment of repaired segments by managing the transition from original to repaired code without requiring the application to go fully offline or undergo complete reapproval, thus fixing errors while maintaining high productivity.
3Reliability
If traditional application repair process is used, then the application errors are fixed, but the cost increases and user experience worsens due to lengthy offline periods
Solution Approach 1:
By segmenting the application into independent executable units with defined entry points, the system enables targeted repairs that do not require full application shutdown or user notification. Users experience no interruption as only specific segments are updated in the background, maintaining ease of operation while ensuring errors are fixed through the structured segment architecture.
Solution Approach 2:
The dynamic code loading mechanism allows repaired segments to be seamlessly integrated into the running application without requiring users to reinstall or restart the entire application. This dynamic update process maintains continuous service availability and smooth user experience while effectively fixing errors through the replacement of specific program segments.
Data Source
AI summary
Disclosed is a method for dynamically repairing an application, which includes: a client receiving a pre-configured repaired program segment; the repaired program segment is stored; an address that stores the repaired program segment is recorded; the address of the repaired program segment is stored in an application APP, and when the APP is in operation, the APP calling the repaired program segment via the address of the repaired program segment. Correspondingly, the present invention further discloses a device for dynamically repairing an application and a related system.


