Run-Time Performance Analysis via Call-Graph Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods face difficulties in efficiently testing and analyzing the performance and test exhaustiveness of computer applications across multiple environments, as existing techniques lack effective algorithms and tools for thorough simulation and diagnosis.
Innovation Solution
A method involving the extraction of a computer program from one environment to another, parsing it to generate a hierarchical representation, inserting log value generation instructions, and analyzing the generated log values against thresholds to identify and alert on performance issues, using a device with components for code extraction, parsing, enhancement, re-injection, and analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If automated performance diagnosis using call-graph is implemented, then performance analysis capability is improved, but it does not address multiple application environments limiting versatility
Solution Approach 1:
The patent creates a universal performance analysis system that can operate across multiple application environments (SAP, Windows, etc.) by extracting call-graph information from different environments and processing it through a common analysis framework. The system uses environment-agnostic data structures and algorithms that can handle various programming languages and runtime environments, making the performance diagnosis tool versatile and adaptable to different platforms.
2Reliability
If rigorous testing simulations are performed before final release, then application quality is improved, but technical difficulties arise in implementing efficient test simulations
Solution Approach 1:
The patent creates simplified copies or models of the application's call-graph structure and execution flow that can be analyzed without running full-scale testing simulations. By extracting essential control flow information and creating abstract representations, the system enables quality assessment without the complexity of comprehensive runtime testing, thus maintaining reliability while reducing implementation complexity.
3Reliability
If comprehensive algorithms are developed to test application adequately, then test exhaustiveness is improved, but technical difficulties arise in devising such algorithms
Solution Approach 1:
The patent segments the complex problem of comprehensive application testing into manageable parts by analyzing the call-graph structure in hierarchical levels. It divides the algorithm into modules that handle different aspects: call-graph extraction, dominance relationship calculation, performance bottleneck identification, and threshold-based alerting. This segmentation makes the overall algorithm more manageable and implementable while maintaining test exhaustiveness.
Data Source
Figure 1~2
Figure 3A
Figure 3B
AI summary
The invention concerns a method for performing a run-time simulation of a computer program comprising: extracting said computer program from a first application environment to a second application environment; parsing said computer program to generate a hierarchical representation of said computer program; based on said hierarchical representation, inserting at least one log value generation instruction into said extracted computer program to generate an enhanced computer program; re-injecting said enhanced computer program into said first application environment; executing, in said first application environment, said enhanced computer program; and receiving from said first application environment generated log values and analysing said values with respect to a hierarchical representation of said computer program.