Skip to main content

Towards Fully Automatic Execution Monitoring

  • Conference paper
Radical Innovations of Software and Systems Engineering in the Future (RISSEF 2002)

Abstract

UFO is a new application framework in which programs written in FORMAN, a declarative assertion language, are compiled into execution monitors that run on a virtual machine with extensive monitoring capabilities provided by the Alamo monitor architecture. FORMAN provides an event trace model in which precedence and inclusion relations define a DAG structure that abstracts execution behavior. Compiling FORMAN assertions into hybrid run-time/post-mortem monitors allows substantial speed and size improvements over post-mortem analyzers. The UFO compiler generates code that computes the minimal projection of the DAG necessary for a given set of assertions. UFO enables fully automatic execution monitoring of real programs. The approach is non-intrusive with respect to program source code and provides a high level of abstraction for monitoring and debugging activities. The ability to compile suites of debugging rules into efficient monitors, and apply them generically to different programs, enables long-overdue breakthroughs in program debugging.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Communications of the ACM, vol. 4 (1997)

    Google Scholar 

  2. Brooks, F.: The Mythical Man-Month. Addison-Wesley, Reading (1975)

    Google Scholar 

  3. Auguston, M.: Program Behavior Model Based on Event Grammar and its Application for Debugging Automation. In: Proceedings of the 2nd Int’l Workshop on Automated and Algorithmic Debugging, Saint-Malo, France, May 1995, pp. 277–291 (1995)

    Google Scholar 

  4. Auguston, M., Gates, A., Lujan, M.: Defining a Program Behavior Model for Dynamic Analyzers. In: Proceedings of the 9th International Conference on Software Engineering and Knowledge Engineering, SEKE 1997, Madrid, Spain, June 1997, pp. 257–262 (1997)

    Google Scholar 

  5. Auguston, M.: Lightweight semantics models for program testing and debugging automation. In: Proceedings of the 7th Monterey Workshop, June 2000, pp. 23–31 (2000)

    Google Scholar 

  6. Jeffery, C.L.: Program Monitoring and Visualization: an Exploratory Approach. Springer, New York (1999)

    MATH  Google Scholar 

  7. Jeffery, C., Mohamed, S., Pereda, R., Parlett, R.: Programming with Unicon, http://unicon.sourceforge.net

  8. Griswold, R.E., Griswold, M.T.: The Icon Programming Language, 3rd edn. Peer to Peer Communications, San Jose (1997)

    Google Scholar 

  9. Havelund, K., Johnson, S., Rosu, G.: Specification and Error Pattern Based Program Monitoring. In: ESA Workshop on On-Board Autonomy, Noordwijk, Holland (October 2001)

    Google Scholar 

  10. Bates, P.C., Wileden, J.C.: High-Level Debugging of Distributed Systems: The Behavioral Abstraction Approach. Journal of Systems and Software 3, 255–264 (1983)

    Article  Google Scholar 

  11. Olsson, R., Crawford, R., Wilson, W.: A Dataflow Approach to Event-based Debugging. Software – Practice and Experience 21(2), 19–31 (1991)

    Article  Google Scholar 

  12. Ducasse, M.: COCA: An automated debugger for C. In: Proceedings of the 1999 International Conference on Software Engineering, Los Angeles, pp. 504–513 (1999)

    Google Scholar 

  13. Rosenblum, D.: A Practical Approach to Programming with Assertions. IEEE Transactions on Software Engineering 21(1), 19–31 (1995)

    Article  Google Scholar 

  14. Luckham, D.C., Sankar, S., Takahashi, S.: Two-Dimensional Pinpointing: Debugging with Formal Specifications. IEEE Software 8(1), 74–84 (1991)

    Article  Google Scholar 

  15. Luckham, D.C., Bryan, D., Mann, W., Meldal, S., Helmbold, D.P.: An Introduction to Task Sequencing Language, TSL version 1.5, Stanford University , February 1990, pp. 1–68 (1990)

    Google Scholar 

  16. Rosenblum, D.: Specifying Concurrent Systems with TSL. IEEE Software 8(3), 52–61 (1991)

    Article  Google Scholar 

  17. Luckham, D., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)

    Article  Google Scholar 

  18. Drusinsky, D.: The Temporal Rover and the ATG Rover. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  19. Golan, M., Hanson, D.: DUEL - A Very High-Level Debugging Language. In: Proceedings of the Winter USENIX Technical Conference, San Diego (January 1993)

    Google Scholar 

  20. Shapiro, E.: Algorithmic Program Debugging, May 1982. MIT Press, Cambridge (1982)

    Google Scholar 

  21. Fritzson, P., Shahmehri, N., Kamkar, M., Gyimothy, T.: Generalized Algorithmic Debugging and Testing. ACM LOPLAS 1(4) (December 1992)

    Google Scholar 

  22. Shahmehri, N.: Generalized Algorithmic Debugging, Ph.D. Thesis No. 260, Dept. of Computer and Information Science, Linköping University, S-581 83 Linköping (1991)

    Google Scholar 

  23. Liao, Y., Cohen, D.: A Specificational Approach to High Level Program Monitoring and Measuring. IEEE Transactions on Software Engineering 18(11), 969–978 (1992)

    Article  Google Scholar 

  24. Sosic, R.: Dynascope: a Tool for Program Directing. Sigplan Notices 27(7), 12–21 (1992)

    Article  Google Scholar 

  25. LeDoux Carol, C.H., Parker, D.: Saving Traces for Ada Debugging. Ada in Use. In: Proc. of the Ada International Conference, ACM Ada Letters, vol. 5(2), pp. 97–108 (1985)

    Google Scholar 

  26. http://www.microsoft.com/net/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jeffery, C., Auguston, M., Underwood, S. (2004). Towards Fully Automatic Execution Monitoring. In: Wirsing, M., Knapp, A., Balsamo, S. (eds) Radical Innovations of Software and Systems Engineering in the Future. RISSEF 2002. Lecture Notes in Computer Science, vol 2941. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24626-8_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24626-8_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21179-2

  • Online ISBN: 978-3-540-24626-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics