Native Backtracing for Java Runtime Probing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for runtime probing of Java software applications are limited, as they either restrict probing to C/C++ runtime or allow only limited probing without providing necessary runtime information to software tools, hindering efficient analysis.
Innovation Solution
A method is introduced where a target method in a Java software application is modified to include calls to pre-processing, main, and post-processing helper methods, which collect and pass runtime information to a native method, enabling efficient runtime probing and analysis by software tools like Systemtap without requiring recompilation or restart.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If runtime probing is restricted to C/C++ runtime, then system stability is maintained, but probing capability for Java applications is limited
Solution Approach 1:
The patent introduces a native method as an intermediary layer between Java helper methods and software tools. This native method receives runtime information from Java code and passes it to analysis tools, enabling Java probing capability while maintaining system stability through controlled interaction between Java and native code layers
2Measurement precision
If helper methods collect and pass runtime information to native methods, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The patent segments the probing functionality into distinct helper methods (pre-processing, main, post-processing) that each handle specific aspects of runtime information collection. This modular approach improves measurement precision by dedicating specific functions to specific tasks while managing complexity through clear separation of concerns
3Productivity
If target method is modified to include helper method calls, then productivity is improved, but manufacturing precision deteriorates
Solution Approach 1:
The patent applies preliminary action by modifying the target method to include calls to helper methods before the actual analysis is performed. The helper methods are pre-configured to collect and prepare runtime information, so when the target method executes, the probing infrastructure is already in place, improving analysis efficiency while maintaining code modification precision through systematic preprocessing
Data Source
AI summary
A system and method are disclosed for runtime probing of software. In accordance with one embodiment, a target method of a software application is modified to include a call to a first helper method and a call to a second helper method that occurs after the call to the first helper method. The first helper method collects runtime information, and at least one of the first helper method or the second helper method passes data comprising the runtime information to a native method that provides the data to a software tool (e.g., a performance monitoring tool, a debugger, etc.). The modified target method is then executed within a virtual machine.


