[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

A Specificational Approach to High Level Program Monitoring and Measuring

Published: 01 November 1992 Publication History

Abstract

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.

References

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

Cited By

View all

Recommendations

Reviews

Alfs T. Berztiss

The program monitoring and measuring system (PMMS) allows a performance engineer to indicate by means of a precise high-level specification what performance data are to be collected. Such performance data can greatly improve the effectiveness of program optimization and of preventive maintenance, but are rarely gathered because of the expense in terms of programmer time. The purpose of PMMS is to reduce this expense. A PMMS specification defines relations over program constructs, and a language similar to a database query language is used to extract the actual performance data. The precise knowledge of what data the performance engineer needs allows PMMS to restrict data gathering to just those data. The paper conveys the flavor of PMMS well, but some readers may wish for more detail. First, it is not quite clear how responsibilities are split between a performance engineer and PMMS. Second, footnote 5 suggests that in dealing with calls to functions, PMMS decides where to put the instrumentation code. This can complicate the estimation of the overhead due to function calls. Third, again referring to footnote 5, it is not clear that PMMS is language-independent. How would it cope with independent compilation, as in FORTRAN or Ada__?__ Can it deal with communication mechanisms that go beyond the classical call-return__?__ As a final note, reference number 2 in the text refers to both the second and third items in the reference section, so most text references are off by one.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 18, Issue 11
Special issue on software measurement principles, techniques, and environments
November 1992
107 pages
ISSN:0098-5589
Issue’s Table of Contents

Publisher

IEEE Press

Publication History

Published: 01 November 1992

Author Tags

  1. augmented program
  2. automatic programming
  3. complexities
  4. execution characteristics
  5. formal specification
  6. high level program monitoring
  7. high-level specification language
  8. instrumentation code
  9. program measurement
  10. software metrics
  11. special-purpose hardware
  12. specification languages
  13. specificational approach
  14. system monitoring

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)You can't debug what you can't seeProceedings of the Workshop on Hot Topics in Operating Systems10.1145/3317550.3321428(163-169)Online publication date: 13-May-2019
  • (2009)Composing expressive runtime security policiesACM Transactions on Software Engineering and Methodology10.1145/1525880.152588218:3(1-43)Online publication date: 4-Jun-2009
  • (2009)Run-Time Enforcement of Nonsafety PoliciesACM Transactions on Information and System Security10.1145/1455526.145553212:3(1-41)Online publication date: 1-Jan-2009
  • (2009)On the specification of non-functional properties of systems by observationProceedings of the 2009 international conference on Models in Software Engineering10.1007/978-3-642-12261-3_28(296-309)Online publication date: 4-Oct-2009
  • (2009)Model Driven Performance Measurement and Assessment with MoDePeMARTProceedings of the 12th International Conference on Model Driven Engineering Languages and Systems10.1007/978-3-642-04425-0_6(62-76)Online publication date: 1-Oct-2009
  • (2008)VizScriptProceedings of the 13th international conference on Intelligent user interfaces10.1145/1378773.1378780(40-49)Online publication date: 13-Jan-2008
  • (2005)Relational queries over program tracesACM SIGPLAN Notices10.1145/1103845.109484140:10(385-402)Online publication date: 12-Oct-2005
  • (2005)Relational queries over program tracesProceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/1094811.1094841(385-402)Online publication date: 17-Oct-2005
  • (2005)Dynamic self-control of autonomous agentsProceedings of the Third international conference on Programming Multi-Agent Systems10.1007/11678823_3(41-56)Online publication date: 26-Jul-2005
  • (2004)A Taxonomy and Catalog of Runtime Software-Fault Monitoring ToolsIEEE Transactions on Software Engineering10.1109/TSE.2004.9130:12(859-872)Online publication date: 1-Dec-2004
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media