Monitoring in a software development environment: A relational approach

A monitor is an important component of a software development environment. The information collected and processed by a monitor is vital for debugging and tuning programs, and is useful to compilers performing selective optimization. A relational database, extended to incorporate time, is introduced as an appropriate representation of dynamic information concerning a program's execution. TQuel, a language permitting high level queries about a program's behavior, is briefly described. Measurements of an initial implementation of the relational monitor show that it can efficiently support the conceptual viewpoint of a dynamic database of a program's behavior.