PERFORMANCE ASSERTION CHECKING

  • Authors:
  • S. E. Perl

  • Affiliations:
  • -

  • Venue:
  • PERFORMANCE ASSERTION CHECKING
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

Performance assertion checking is an approach to describing and monitoring the performance of complex software systems. The idea is simple: system implementors write assertions that capture their expectations for performance, the system is instrumented to collect performance data, and then the assertions are checked automatically against the data to detect violations signifying potential performance bugs. Because performance assertions provide a means of filtering data based on expectations, they form a good basis for tools. Data indicating that a system is performing as expected can be discarded automatically, while data indicating potential problems can be brought to the attention of a person. Performance assertions are useful for performance regression testing, continuous system monitoring, and performance debugging. Also, the act of writing precise performance assertions helps designers and implementors to understand better their own expectations for performance, and the guarantees they can make about their systems. PSpec is a language and a set of tools that embodies the idea of performance assertion checking. A PSpec user writes performance assertions in the PSpec language. These are input, along with a monitoring log, to a checker tool that reports which assertions fail to hold for the log. Another tool called the solver helps to fill in constants in assertions using data in a monitoring log. PSpec has been used to find performance bugs in the runtime system of a new parallel programming language, providing evidence of its utility.