Method and system for probe optimization while instrumenting a program
First Claim
1. A computer-implemented method for instrumenting a program, comprising:
- examining a post-dominator tree associated with a function of a program;
determining a probe insertion into the program according to the post-dominator tree; and
inserting the probe into the program.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system is provided for instrumenting a program by optimizing probe insertion. The number of probe insertions into instrumented code is reduced by providing optimal probe insertion points. The control flow of the code is analyzed along with the arc and block relationships to build a post-dominator tree. An optimization map is generated from the post-dominator tree that provides the optimal probe insertion points. Once the probes are inserted and data is collected by running the binary representing the code and probes, the data may be overlaid onto the optimization map and arc and block relationships to provide code coverage data.
57 Citations
23 Claims
-
1. A computer-implemented method for instrumenting a program, comprising:
-
examining a post-dominator tree associated with a function of a program;
determining a probe insertion into the program according to the post-dominator tree; and
inserting the probe into the program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium that includes computer-executable instructions for instrumenting a program, comprising:
-
examining a post-dominator tree associated with a function of a program;
building an optimization map that corresponds to the post-dominator tree, wherein the optimization map includes entries corresponding to leaf nodes within the post-dominator tree; and
inserting probes into the program corresponding to each entry of the optimization map. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system for instrumenting a program, comprising:
a computing device that includes an application that is configured to;
calculate a control flow graph corresponding to the program;
build a post-dominator tree that corresponds to the control flow graph;
build an optimization map that corresponds to the post-dominator tree, wherein the optimization map includes entries corresponding to leaf nodes within the post-dominator tree;
insert probes into the program corresponding to each entry of the optimization map; and
overlay data received from the probes after execution of the program onto the optimization map to provide code coverage data for the program. - View Dependent Claims (18, 19, 20, 21, 22, 23)
Specification