Application Function Consolidation via Execution Path Clustering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software applications often suffer from inefficiencies due to outdated architectures and redundant code, making it difficult to modernize them without thorough analysis, as developers typically add functionality by copying and modifying existing code, leading to inefficiencies and unused code consuming resources.
Innovation Solution
A method that analyzes actual code execution paths, predicts similar paths using a neural network model, clusters them, and recommends consolidating these paths into a single execution path in a revised version of the application, optimizing code and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If developers add functionality by copying and modifying existing code, then application functionality is enhanced, but code redundancy and inefficiency increase
Solution Approach 1:
The patent merges similar code execution paths by identifying clusters of predicted execution paths that have above-threshold similarity and consolidating them into single execution paths in the revised application, thereby reducing code redundancy while preserving functionality
Solution Approach 2:
The patent uses execution prediction models to generate predicted execution paths that copy and extend actual execution paths, then analyzes these predictions to identify consolidation opportunities without manually copying code
2Productivity
If application architecture is updated over time without thorough analysis, then application evolution is maintained, but architectural inefficiencies and unused code accumulate
Solution Approach 1:
The patent performs preliminary analysis of actual and predicted execution paths before application modernization, identifying code that will not be executed in the revised application, allowing proactive removal of unused code before it consumes resources
Solution Approach 2:
The patent extracts and identifies unused code portions by comparing actual execution paths against predicted execution paths in the revised application, separating executable code from non-executable code for targeted removal
3Reliability
If similar code functions are not consolidated, then code coverage is maintained, but memory and storage usage increase
Solution Approach 1:
The patent merges similar code execution paths by identifying clusters of predicted execution paths with above-threshold similarity and consolidating them into single execution paths, reducing memory and storage usage while maintaining functional coverage
Solution Approach 2:
The patent changes the parameter of code organization by transforming multiple similar execution paths into a single consolidated execution path, altering the structure from redundant copies to unified code
Data Source
AI summary
By analyzing execution of a set of transactions by an application, a set of actual code execution paths of the application are determined. From the set of actual code execution paths, a set of predicted execution paths of the application are predicted using an execution prediction model. The set of predicted execution paths includes the set of actual code execution paths. By determining that paths in the set of predicted execution paths have above a threshold similarity to each other, a cluster of predicted execution paths is identified. The cluster of predicted execution paths is recommended, using a recommendation model, for implementation as a single execution path in a revised version of the application.


