Low overhead program monitoring and profiling

  • Authors:
  • Naveen Kumar;Bruce R. Childers;Mary Lou Soffa

  • Affiliations:
  • University of Pittsburgh, Pittsburgh, Pennsylvania;University of Pittsburgh, Pittsburgh, Pennsylvania;University of Virginia, Charlottesville, Virginia

  • Venue:
  • PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program instrumentation, inserted either before or during execution, is rapidly becoming a necessary component of many systems. Instrumentation is commonly used to collect information for many diverse analysis applications, such as detecting program invariants, dynamic slicing and alias analysis, software security checking, and computer architecture modeling. Because instrumentation typically has a high run-time overhead, techniques are needed to mitigate the overheads. This paper describes "instrumentation optimizations" that reduce the overhead of profiling for program analysis. Our approach applies transformations to the instrumentation code that reduce the (1) number of instrumentation points executed, (2) cost of instrumentation probes, and (3) cost of instrumentation payload, while maintaining the semantics of the original instrumentation. We present the transformations and apply them for program profiling and computer architecture modeling. We evaluate the optimizations and show that the optimizations improve profiling performance by 1.26-2.63x and architecture modeling performance by 2-3.3x.