Software monitoring with controllable overhead

  • Authors:
  • Xiaowan Huang;Justin Seyster;Sean Callanan;Ketan Dixit;Radu Grosu;Scott A. Smolka;Scott D. Stoller;Erez Zadok

  • Affiliations:
  • Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA

  • Venue:
  • International Journal on Software Tools for Technology Transfer (STTT) - Runtime Verification
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the technique of software monitoring with controllable overhead (SMCO), which is based on a novel combination of supervisory control theory of discrete event systems and PID-control theory of discrete time systems. SMCO controls monitoring overhead by temporarily disabling monitoring of selected events for as short a time as possible under the constraint of a user-supplied target overhead o t. This strategy is optimal in the sense that it allows SMCO to monitor as many events as possible, within the confines of o t. SMCO is a general monitoring technique that can be applied to any system interface or API. We have applied SMCO to a variety of monitoring problems, including two highlighted in this paper: integer range analysis, which determines upper and lower bounds on integer variable values; and non-accessed period detection, which detects stale or underutilized memory allocations. We benchmarked SMCO extensively, using both CPU- and I/O-intensive workloads, which often exhibited highly bursty behavior. We demonstrate that SMCO successfully controls overhead across a wide range of target overhead levels; its accuracy monotonically increases with the target overhead; and it can be configured to distribute monitoring overhead fairly across multiple instrumentation points.