REWRITING EXECUTABLE FILES TO MEASURE PROGRAM BEHAVIOR

被引:49
作者
LARUS, JR
BALL, T
机构
[1] Computer Sciences Department, University of Wisconsin-Madison, Madison, Wisconsin, 53706
关键词
PERFORMANCE; MEASUREMENT; INSTRUMENTATION; CONTROL-FLOW GRAPH; EXECUTABLE FILE;
D O I
10.1002/spe.4380240204
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Inserting instrumentation code in a program is an effective technique for detecting, recording, an measuring many aspects of a program's performance. Instrumentation code can be added at any stage of the compilation process by specially-modified system tools such as a compiler or linker or by new tools from a measurement system. For several reasons, adding instrumentation code after the compilation process-by rewriting the executable file-presents fewer complications and leads to more complete measurements. This paper describes the difficulties in adding code to executable files that arose in developing the profiling and tracing tools qp and qpt. The techniques used by these tools to instrument programs on MIPS and SPARC processors are applicable in other instrumentation systems running on many processors and operating systems. In addition, many difficulties could have been avoided with minor changes to compilers and executable file formats. These changes would simplify this approach to measuring program performance and make it more generally useful.
引用
收藏
页码:197 / 218
页数:22
相关论文
共 22 条
  • [1] PROFILING UNDER UNIX BY PATCHING
    BISHOP, M
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1987, 17 (10) : 729 - 739
  • [2] CHAMBERLAIN S, 1992, UNPUB LIBBFD BINARY
  • [3] GINGELL RA, SHARED LIBRARIES SUN
  • [4] AN EXECUTION PROFILER FOR MODULAR PROGRAMS
    GRAHAM, SL
    KESSLER, PB
    MCKUSICK, MK
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1983, 13 (08) : 671 - 685
  • [5] HASTINGS R, 1992, JAN P WINT US C, P1
  • [6] JOHNSON SC, 1990, 1990 P WIN USENIX C, P325
  • [7] Kane G., 1992, MIPS RISC ARCHITECTU
  • [8] KESSLER PB, 1990, JUN P SIGPLAN 90 C P, P78
  • [9] KISHON A, 1991, 1991 P SIGPLAN 91 C, P338
  • [10] Knuth D. E., 1971, Software - Practice and Experience, V1, P105, DOI 10.1002/spe.4380010203