Patent
1994-06-30
1998-08-04
Voeltz, Emanuel T.
39518311, G06F 944
Patent
active
057908583
ABSTRACT:
The present invention provides a method in a computer system for selecting instrumentation points in a computer program. Instrumentation points are locations within the computer program at which instrumentation code is inserted. The method includes identifying code portions such as basic blocks in the computer program code, creating a control flow graph out of the code portions, generating a spanning tree for the control flow graph, and then selecting those edges of the control flow graph which are not a part of the spanning tree as instrumentation points. After instrumentation points are selected, instrumentation code may be added at those locations. When the computer program is executed, the added instrumentation code records execution information such as how many times an instrumentation point is accessed during execution of the computer program. Using the recorded execution information and direction specified in the control flow graph, execution information for the non-instrumented blocks may then be calculated.
REFERENCES:
patent: 3427443 (1969-02-01), Apple et al.
patent: 3551659 (1970-12-01), Forsythe
patent: 4819233 (1989-04-01), DeLucia et al.
Robert Endre Tarjan, "Minimum Spanning Trees," Data Structures and Network Algorithms, Chapter 6, 1983, pp. 71-83.
James R. Larus et al., "Rewriting Executable Files to Measure Program Behavior," University of Wisconsin Computer Sciences Technical Report 1083, 1992, pp. 1-17.
Thomas Ball et al., "Optimally Profiling and Tracing Programs," University of Wisconsin Computer Sciences Technical Report 1031, 1991, pp. 1-27.
Vivek Sarkar, "Determining Average Program Execution Times and their Variance," Proceedings of SIGPLAN '89 Conference on Programming Language Design and Implementation, SIGPLAN Notices, vol. 24, No. 7, Jul. 1989, pp. 298-312.
Karl Pettis et al, "Profile Guided Code Positioning," Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, Jun. 20-22, 1990, pp. 16-27.
"Using Profile Information to Assist Classic Code Optmizations", Chang et al, Soft. Practice & Experience, vol. 21(12), 1301-1321, Dec. 1991.
"Improving UNIX Kernel Performance Using Profile Based Optimization", Speer et al., 1994 Winter USENIX, Jan. 17-21, 1994, pp. 181-188.
Larus et al., "Rewriting Executable Files to Measure program Behavior", Univ. of Wisconsin Comp. Sci. Tech. Report, 1991, pp. 1-27.
"Rewriting Executable Files to Measure Program Behavior", Larus et al., Univ. of Wisconsin Comp. Sci. Tech. Report 1083, 1992, pp. 1-17.
"Optimally Profiling and Tracing Programs", Ball et al., Tech. Report #1031, Univ. of Wisconsin, Sep. 1991.
"Data Structures and Algorithms", Aho et al., Addison-Wesley, 1987, pp. 215-218 (Section 6.5).
Chaki Kakali
Microsoft Corporation
Voeltz Emanuel T.
LandOfFree
Method and system for selecting instrumentation points in a comp does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for selecting instrumentation points in a comp, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for selecting instrumentation points in a comp will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1189562