Abstract: A method and system is provided for instrumenting a program by optimizing prode insertion. The number of prode insertions into instrumented code is reduced by providing optimal prode 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 prode insertion points. Once the prodes are inserted and data is collected by running the binary representing the code and prodes, the data may be overlaid onto the optimization map and arc and block relationships to provide code coverage data.