BIB-VERSION:: CS-TR-v2.0 ID:: STAN//CSL-TR-89-395 ENTRY:: November 08, 1994 ORGANIZATION:: Stanford University, Computer Systems Laboratory TITLE:: Design of Run Time Monitors for Concurrent Programs TYPE:: Technical Report AUTHOR:: Helmbold, David AUTHOR:: Bryan, Doug DATE:: October 1989 PAGES:: 20 ABSTRACT:: We address the problem of correctly monitoring the run time behavior of a concurrent program. We view a program as having three (potentially different) sets of behavior: computations of the original program when monitoring is not performed, computations after the monitor is added to the program, and "observations'' produced by the monitor. Using these sets of behaviors, we define four properties of monitor systems: non-interference, safety, accuracy and correctness. We define both a minimal level and a total level for each of these properties. The non-interference and safety properties address the degree to which the presence of the monitor alters a computation (the differences between the first two sets of computations). Accuracy is a relationship between a monitored computation and the observation of the computation produced by the monitor. Correctness is a relationship between observations and the unmonitored computations. A run time monitor for TSL-1 and Ada has been implemented. This monitor system uses two techniques for constructing the observation. We show that any monitoring system using these two techniques is at least minimally correct, from which the (minimal) correctness of the TSL-1 monitor follows. NOTES:: [Adminitrivia V1/Prg/19941108] END:: STAN//CSL-TR-89-395