Browse Prior Art Database

Method and system for dynamic on-demand comprehensive tracing in Java Virtual Machine

IP.com Disclosure Number: IPCOM000220142D
Publication Date: 2012-Jul-24
Document File: 5 page(s) / 38K

Publishing Venue

The IP.com Prior Art Database

Abstract

System and method for comprehensively trace run-time values of variables in a java method under execution is provided. Methods may be implemented by the run-time systems to tap the currently executing java byte code or byte codes and map it to a source line contextual to the java program under execution, printing the trace data in a configurable way. Upon application misbehaviour, this trace data help computer systems to exhibit more comprehensive and convenient way of debugging the misbehaved application by providing the dynamic values contained in the variables and fields which impart in the misbehavior.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 5

Method and system for dynamic on -demand comprehensive tracing in Java Virtual Machine

System and method for comprehensively trace run-time values of variables in a java method under execution is provided. Methods may be implemented by the run-time systems to tap the currently executing java byte code or byte codes and map it to a source line contextual to the java program under execution, printing the trace data in a configurable way. Upon application misbehaviour, this trace data help computer systems to exhibit more comprehensive and convenient way of debugging the misbehaved application by providing the dynamic values contained in the variables and fields which impart in the misbehavior.

There are pluralities of methods exist in java to facilitate trace the program under execution. They are broadly classified into explicit tracing and implicit tracing.

In the former, source code contains the necessary routines to tap the trace data. The drawback here is that the source code should insert trace calls in all the possible code flow paths in anticipation of a run-time trace configuration. This leads to a heavy performance hit as well as enlarged code size.

In the later where the tracing is implicit, which means there is no trace code inherent in the code, but at run-time, based on the then supplied trace parameters, a custom trace routine (or branch) is invoked in case of interpreter, and the trace instructions are inserted in the method body, in case of dynamically complied methods. In a variety of embodiments of this type of traces currently existing, most of them use method entry tracing and exit tracing. There is no way to do a contextual tracing for java methods. The current invention proposes a method to generate trace information for a particular instruction or set of instructions in a java method, or a set of methods from register contexts.

Advantage over existing methods is it does not impose performance overhead on the application because:


1. Minimum trace data which are requested are collected.

2. No debug code for the application run-time is required (java virtual machine and dynamic compiler subsystem). Many of the existing software assisted instruction tracing systems use special debug code. This benefit makes it suitable for using it in the production systems.

3. Trace data for specific java instruction or a set of instructions with contextual field values.

1


Page 02 of 5

SL No

Existing method

       Current Invention
(difference from existing methods) 1

Wily: Wily's solution monitors a running Java application and identifies performance problems and bottlenecks as they occur. A

Java class method entry and exit are mar...