Patent ID: 8464225

Claim:
A computer-implemented method comprising: (A) extracting, from original bytecode, class meta-data for a plurality of classes; (B) generating, based on the extracted meta-data, an inheritance repository representing relationships among the plurality of classes, the relationships including at least one relationship between a first class and a second class, wherein the first class is a direct super class of a third class, and wherein the third class is a direct super class of the second class; (C) using the inheritance repository to evaluate at least one instrumentation rule on the plurality of classes, thereby identifying a subset of the plurality of classes; (D) instrumenting original bytecode containing the subset of the plurality of classes to produce instrumented bytecode; (E) using the inheritance repository to evaluate the at least one instrumentation rule on the plurality of classes of the first application during a second run of the first application; wherein (A) comprises extracting the class meta-data at load-time and wherein (B) comprises generating the inheritance repository at load-time; wherein (A) further comprises extracting, from original bytecode of a first application, class meta-data for a plurality of classes of the first application; and wherein (C) comprises using the inheritance repository to evaluate at least one instrumentation rule on the plurality of classes of the first application during a first run of the first application, thereby identifying a subset of the plurality of classes of the first application.