This Article 
 Bibliographic References 
 Add to: 
A Specificational Approach to High Level Program Monitoring and Measuring
November 1992 (vol. 18 no. 11)
pp. 969-978

Program monitoring and measuring is the activity of collecting information about the execution characteristics of a program. Although this activity is occasionally supported by special-purpose hardware, it is normally done by adding instrumentation code to the program so that it collects interesting data as it runs. Unfortunately, this alteration is itself a difficult task involving all the complexities of programming. Given some questions to be answered, the programmer must determine what data must be collected, determine where in the program those data can be collected, and add code to the program to collect that data and to process it to produce the desired results. The goal of the work described is to automate the process. A high-level program monitoring and measuring system is presented. The system provides a high-level specification language to let programmers specify what they want to know about their program's execution. It automatically generates an augmented program whose execution produces both the results of the original program and answers to the specified questions.

[1] P.C. Bates, "Debugging heterogeneous distributed systems using event-based models of behavior," inProc. ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging, pp. 11-22, May 1988.
[2] P. C. Bates and J. C. Wileden, "High-level debugging of distributed systems: The behavioral abstraction approach,"The J. Syst. Software, vol. 3, pp. 255-264, 1983.
[3] B. Bruegge, "Adaptability and portability of symbolic debuggers," Ph.D. dissertation, Dept. Computer Science, Carnegie Mellon Univ., Pittsburgh, PA, Sept. 1985.
[4] B. Bruegge and P. Hibbard, "Generalized Path Expressions: A High-Level Debugging Mechanism,"Proc. ACM/SIGPlan Software Eng. Symp. High-Level Debugging, ACM Press, New York, Order No. 593830, 1983, pp. 34-44.
[5] D. Cohen,AP5 User's Manual, ISI/USC, 1988.
[6] C. Coutantet al., "Measuring the performance and behavior of icon programs,"IEEE Trans. Software Eng., vol. SE-9, Jan. 1983.
[7] C. L. Forgy, "On the efficient implementation of production systems," Ph.D. dissertation, Dept. Computer Science, Carnegie-Mellon Univ., Pittsburgh, PA, Feb. 1979.
[8] S. Grahamet al., "An execution profiler for modular programs,"Sofware Practice and Experience, vol. 13, pp. 671-483, 1983.
[9] W. Hseush and G. Kaiser, "Data path debugging: Data-oriented debugging for a concurrent programming language," inProc. ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging, pp. 236-247, May 1988.
[10] J. King, "QUIST: A system for semantic query optimization in relational databases," inProc. 7th Int. Conf. Very Large Data Bases, pp. 510-517, 1981.
[11] D. Knuth, "An empirical study of Fortran programs,"Software-Practice and Experience, vol. 1, pp. 105-133, Apr. 1971.
[12] T. Y. C. Leung and R. R. Muntz, "Query processing for temporal databases," inProc. Int. Conf. Data Engineering, pp. 200-208, 1990.
[13] Y. Liao, "An automatic programming approach to high level program monitoring and measuring," Ph.D. dissertation, Dept. Computer Science, Univ. Southern California, Los Angeles, CA, Feb. 1992.
[14] B. Plattner and J. Nievergelt, "Monitoring program execution: A survey,"IEEE Computer, pp. 76-93, Nov. 1981.
[15] CLF Project,CLF manual. USC/Information Science Institute, Marina del Rey, CA, Aug. 1988.
[16] G. Roman and K. Cox, "Program visualization: The art of mapping programs to pictures," inProc. 14th Int. Conf. Software Engineering, pp. 412-420, May 1992.
[17] R. Snodgrass, "Monitoring in a software development environment: A relational approach," inProc. ACM SIGSOFT Software Engineering Symp. on Practical Software Development Environments, pp. 124-131, Apr. 1984.
[18] R. Snodgrass, "The temporal query language TQuel,"ACM Trans. Database Syst., vol. 12, no. 2, June 1987.
[19] R. Snodgrass, "A relational approach to monitoring complex systems,"ACM Trans. Comput. Syst., vol. 6, no. 2, pp. 157-196, May 1988.
[20] J. T. Stasko, "Tango: A framework and system for algorithm animation,"IEEE Computer, pp. 27-39, Sept. 1990.
[21] J. D. Ullman,Database and Knowledge-base Systems. Rockville, MD: Computer Science Press, 1988.

Index Terms:
program measurement; specificational approach; high level program monitoring; execution characteristics; special-purpose hardware; instrumentation code; complexities; high-level specification language; augmented program; automatic programming; formal specification; software metrics; specification languages; system monitoring
Y. Liao, D. Cohen, "A Specificational Approach to High Level Program Monitoring and Measuring," IEEE Transactions on Software Engineering, vol. 18, no. 11, pp. 969-978, Nov. 1992, doi:10.1109/32.177366
Usage of this product signifies your acceptance of the Terms of Use.