ABSTRACT EXECUTION - A TECHNIQUE FOR EFFICIENTLY TRACING PROGRAMS

被引:41
作者
LARUS, JR
机构
[1] Computer Sciences Department, University of Wisconsin-Madison, Madison, Wisconsin, 53706
关键词
Compilers; Data compression C; Execution profiling; Optimization; Run‐time performance evaluation;
D O I
10.1002/spe.4380201205
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many areas of computer performance analysis require detailed traces of events that occur during a program's execution. Collecting traces is expensive. The additional code required to record events greatly slows a program's execution. In addition, the resulting trace files can grow unmanageably large. This paper describes a technique called abstract execution that alleviates both problems. Abstract execution records a small set of events during the traced program's execution. These events serve as input to an abstract version of the program that generates a full trace by re‐executing selected portions of the original program. This process greatly reduces both the cost of tracing the original program and the size of the trace files. The cost of regenerating a trace is insignificant in comparison to the cost of applications that use it. This paper also describes a system called AE that implements Abstract Execution. The paper contains measurements that demonstrate that AE can efficiently trace large programs. Copyright © 1990 John Wiley & Sons, Ltd
引用
收藏
页码:1241 / 1258
页数:18
相关论文
共 13 条
  • [1] Agarwal A., 1986, 13th Annual International Symposium on Computer Architecture (Cat. No.86CH2291-3), P119
  • [2] AHO AV, 1985, COMPILERS PRINCIPLES
  • [3] BORG A, 1990, 17TH P ANN INT S COM
  • [4] EGGERS SJ, 1990, 1990 P ACM SIGMETRIC, P37
  • [5] AN EXECUTION PROFILER FOR MODULAR PROGRAMS
    GRAHAM, SL
    KESSLER, PB
    MCKUSICK, MK
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1983, 13 (08) : 671 - 685
  • [6] HORWITZ S, 1990, ACM T PROGR LANG SYS, V12, P26, DOI 10.1145/960116.53994
  • [7] LARUS JR, 1990, IN PRESS WORKSHOP LA
  • [8] SAMPLES AD, 1989, MAY INT C MEAS MOD C, P89
  • [9] SMITH AJ, 1982, ACM COMPUT SURV, V14, P473, DOI DOI 10.1145/356887.356892
  • [10] STALLMAN RM, 1989, USING PORTING GNU CC