Please download the dossier by clicking on the dossier button x
×

Adaptive instrumentation runtime monitoring and analysis

  • US 7,587,709 B2
  • Filed: 10/24/2003
  • Issued: 09/08/2009
  • Est. Priority Date: 10/24/2003
  • Status: Active Grant
First Claim
Patent Images

1. A method of instrumenting a program to provide instrumentation data for detecting memory leaks in the program, the method comprising:

  • creating an instrumented version of the program comprising duplicate versions of at least some code paths in the program, such that a duplicate code path has an original version code path and an instrumented version code path with instrumentation code for capturing instrumentation data;

    tracking a frequency of execution of the code paths;

    when a code path is to be executed, determining to dispatch execution into the instrumented version code path at a sampling rate for the respective code path and otherwise into the original version code path such that, for a given sampling rate, a ratio of a number of executions of the instrumented version code path to a total number of executions of both the instrumented version code path and the original version code path is equivalent to the given sampling rate;

    adapting the sampling rate for the code paths according to the frequency of execution of the code paths, such that, after adapting, the ratio of a number of executions of the instrumented version code path to a total number of executions of the code path is equivalent to the adapted sampling rate, wherein the sampling rate for executing the code paths is adapted such that the adapted sampling rate is inversely related to the frequency of execution of the code paths;

    storing instrumentation data obtained by execution of the instrumented version of the software; and

    reporting all objects that, according to the instrumentation data, satisfy a predefined staleness condition as memory leaks, wherein the predefined staleness condition comprises determining whether an object in the heap has been accessed within a predetermined length of time.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×