Skip to main content

Dynamic Query-Based Debugging

  • Conference paper
  • First Online:
Book cover ECOOP’ 99 — Object-Oriented Programming (ECOOP 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1628))

Included in the following conference series:

Abstract

Program errors are hard to find because of the cause-effect gap between the time when an error occurs and the time when the error becomes apparent to the programmer. Although debugging techniques such as conditional and data breakpoints help to find error causes in simple cases, they fail to effectively bridge the cause-effect gap in many situations. Dynamic querybased debuggers offer programmers an effective tool that provides instant error alert by continuously checking inter-object relationships while the debugged program is running. To speed up dynamic query evaluation, our debugger (implemented in portable Java) uses a combination of program instrumentation, load-time code generation, query optimization, and incremental reevaluation. Experiments and a query cost model show that selection queries are efficient in most cases, while more costly join queries are practical when query evaluations are infrequent or query domains are small.

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. Anderson E., Dynamic Visualization of Object Programs Written in C++, Objective Software Technology Ltd., http://www.objectivesoft.com/, 1995.

  2. Buneman, O.P.; Clemons E.K., Efficiently Monitoring Relational Databases. ACM Transactions on Database Systems, 4(3), pp. 368–382, September 1979.

    Article  Google Scholar 

  3. Bertino, E., Guerrini, G., Extending the ODMG Object Model with Composite Objects, Proceedings of OOPSLA’98, pp. 259–270, Vancouver, October 1998. Published as SIGPLAN Notices 33(10), October 1998.

    Google Scholar 

  4. Blakeley, J.A.; Larson P.-A.; Tompa F. Wm.; Efficiently Updating Materialized Views. Proceedings of the ACM SIGMOD Conference on Management of Data, pp. 61–71, Washington, D.C., USA, May 1986. Published as SIGMOD Record 15(2), June 1986.

    Article  Google Scholar 

  5. Brown, M.H., Exploring Algorithms Using Balsa-II, IEEE Computer 21(5), pp. 14–36, May 1988.

    Google Scholar 

  6. Brown, M.H., Zeus: A System for Algorithm Animation and Multi-View Editing, Proceedings of IEEE Workshop Visual Languages, pp. 4–9, IEEE CS Press, Los Alamitos, CA., 1991.

    Chapter  Google Scholar 

  7. Consens, M. P., Hasan M.Z., Mendelzon A.O., Debugging Distributed Programs by Visualizing and Querying Event Traces, Applications of Databases, First International Conference, ADB-94, Vadstena, Sweden, June 21–23, 1994, Proceedings in Lecture Notes in Computer Science, Vol. 819, Springer, 1994.

    Google Scholar 

  8. Consens, M.; Mendelzon, A.; Ryman, A., Visualizing and Querying Software Structures, International Conference on Software Engineering, Melbourne, Australia, May 11–15, 1992, ACM Press, IEEE Computer Science, p. 138–156, 1992.

    Google Scholar 

  9. Coplien, J.O., Supporting Truly Object-Oriented Debugging of C++ Programs., In: Proceedings of the 1994 USENIX C++ Conference, Cambridge, MA, USA, 11–14 April 1994. pp. 99–108, Berkley, CA, USA: USENIX Assoc, 1994.

    Google Scholar 

  10. De Pauw, W.; Helm, R.; Kimelman, D.; Vlissides, J. Visualizing the Behavior of Object-Oriented Systems. In Proceedings of the 8th Annual ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1993, Washington, DC, USA, 26 Sept.–1 Oct. 1993. SIGPLAN Notices, Oct. 1993, vol. 28,(no.10):326–37.

    Google Scholar 

  11. de Pauw, W.; Lorenz, D.; Vlissides, J.; Wegman, M. Execution Patterns in Object-Oriented Visualization. Proceedings of the Fourth USENIX Conference on Object-Oriented Technologies and Systems, Sante Fe, NM, USA, 27–30 April 1998, USENIX Association, 1998. pp. 219–34.

    Google Scholar 

  12. Eisenstadt, M., My Hairiest Bug War Stories, Communications of the ACM, Vol. 40.,No. 4, pp. 30–38, April 1997.

    Article  Google Scholar 

  13. Golan, M.; Hanson, D.R. Duel-A Very High-Level Debugging Language. In: USENIX Association. Proceedings of the Winter 1993 USENIX Conference. San Diego, CA, 25–29 Jan. 1993. Berkley, CA, USA: USENIX Assoc, 1993. p. 107–17.

    Google Scholar 

  14. Gosling, J., Joy, B., Steele, G., The Java Language Specification, Addison-Wesley 1996.

    Google Scholar 

  15. Gamma E., Weinand A., Marty R., Integration of a Programming Environment into ET++-a Case Study, Proceedings ECOOP’89 (Nottingham, UK, July 10–14), pp. 283–297, S. Cook, ed. Cambridge University Press, Cambridge, 1989.

    Google Scholar 

  16. Hart D., Kraemer E., Roman G.-C., Interactive Visual Exploration of Distributed Computations. Proceedings of the 11th International Parallel Processing Symposium, Geneva, Switzerland, pp.121–127, April 1997.

    Google Scholar 

  17. Hao, M.C.; Karp, A.H.; Waheed, A.; Jazayeri, M., VIZIR: An Integrated Environment for Distributed Program Visualization. Proceedings of the Third International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, MASCOTS’ 95, pp. 288–92, Durham, NC, USA, January 1995.

    Google Scholar 

  18. Kessler, P., Fast Breakpoints: Design and Implementation. Proceedings of ACM SIGPLAN conference on Programming Language Design and Implementation 1990, Published as SIGPLAN Notices 25(6), pp. 78–84, ACM Press, June 1990.

    Article  Google Scholar 

  19. Keller, R., Hölzle, U.; Binary Component Adaptation, Proceedings ECOOP’98, Springer Verlag Lecture Notes on Computer Science, Brussels, Belgium, July 1998.

    Google Scholar 

  20. Kimelman D., Rosenburg B., Roth T., Strata-Various: Multi-Layer Visualization of Dynamics in Software System Behavior, Proceedings of Visualization’94, pp. 172–178, IEEE 1994.

    Google Scholar 

  21. Laffra C., Advanced Java: Idioms, Pitfalls, Styles and Programming Tips, pp. 229–252, Prentice Hall 1997.

    Google Scholar 

  22. Liang, S., Bracha, G.; Dynamic Class Loading in the JavaTM Virtual Machine, Proceedings of OOPSLA’98, pp. 36–44, Vancouver, October 1998. Published as SIGPLAN Notices 33(10), October 1998.

    Google Scholar 

  23. Lencevicius, R.; Hölzle, U.; Singh, A.K., Query-Based Debugging of Object-Oriented Programs, Proceedings of OOPSLA’97, pp. 304–317, Atlanta, GA, October 1997. Published as SIGPLAN Notices 32(10), October 1997.

    Google Scholar 

  24. Laffra C., Malhotra A., HotWire: A Visual Debugger for C++, Proceedings of the USENIX C++ Conference, pp. 109–122, Usenix Association 1994.

    Google Scholar 

  25. Litman D.; Mishra A.; Patel-Schneider P.F., Modeling Dynamic Collections of Interdependent Objects Using Path-Based Rules, Proceedings of OOPSLA’97, pp. 77–92, Atlanta, GA, October 1997. Published as SIGPLAN Notices 32(10), October 1997.

    Google Scholar 

  26. Lange, D.B., Nakamura Y. Object-Oriented Program Tracing and Visualization, IEEE Computer, vol. 30,no. 5, pp. 63–70, May 1997.

    Google Scholar 

  27. Meyer B., Object-Oriented Software Construction, pp. 111–163, Prentice-Hall, 1988.

    Google Scholar 

  28. Mössenböck, H., Films as Graphical Comments in the Source Code of Programs. Proceedings of the International Conference on Technology of Object Oriented Systems and Languages, TOOLS-23, pp. 89–98, Santa Barbara, CA, USA, July–August 1997.

    Google Scholar 

  29. Roman G.-C., Cox K.C., A Taxonomy of Program Visualization Systems, IEEE Computer 26(12), pp. 11–24, December 1993.

    Google Scholar 

  30. Roman, G.-C. et al., Pavane: A System for Declarative Visualization of Concurrent Computations, Journal of Visual Languages and Computing, Vol. 3,No. 2, pp. 161–193, June 1992.

    Article  MathSciNet  Google Scholar 

  31. Standard Performance Evaluation Corporation, SPEC JVM98 Benchmarks, http://www.spec.org/osg/jvm98/, 1998.

  32. Sefika M., Sane A., Campbell R.H., Architecture-Oriented Visualization, In Proceedings of OOPSLA’96, pp. 389–405, San Jose, CA, October 1996. Published as SIGPLAN Notices 31(10), October 1996.

    Google Scholar 

  33. JavaTM 2 SDK Production Release, http://www.sun.com/solaris/, 1999.

  34. Stasko, J., TANGO: A Framework and System for Algorithm Animation, IEEE Computer 23(9), pp. 27–39.

    Google Scholar 

  35. Tip, F., A Survey of Program Slicing Techniques. Journal of Programming Languages, vol.3,(no.3) pp. 121–89, Sept. 1995.

    Google Scholar 

  36. Weiser, M., Program Slicing. In: 5th International Conference on Software Engineering, San Diego, CA, USA, 9–12 March 1981. New York, NY, USA, pp. 439–49, IEEE, 1981.

    Google Scholar 

  37. Wahbe R., Lucco S., Graham S.L., Practical Data Breakpoints: Design and Implementation. Proceedings of ACM SIGPLAN conference on Programming Language Design and Implementation 1993, Albuquerque, June 1993. ACM Press 1993.

    Google Scholar 

  38. Weinand, A.; Gamma, E. ET++-a portable, homogenous class library and application framework. In: Computer Science Research at UBILAB, Strategy and Projects. Proceedings of the UBILAB Conference `94, Zurich, Switzerland, 1994. pp. 66–92. Edited by: Bischofberger, W.R; Frei, H.-P. Konstanz, Switzerland: Universitätsverlag Konstanz, 1994.

    Google Scholar 

  39. Walker, R.J., Murphy, G.C., Freeman-Benson, B., Wright, D., Swanson, D., Isaak, J., Visualizing Dynamic Software System Information through High-level Models, Proceedings of OOPSLA’98, pp. 271–283, Vancouver, October 1998. Published as SIGPLAN Notices 33(10), October 1998. 160 R. Lencevicius, U. Hoelzle, A.K. Singh

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lencevicius, R., Hölzle, U., Singh, A.K. (1999). Dynamic Query-Based Debugging. In: Guerraoui, R. (eds) ECOOP’ 99 — Object-Oriented Programming. ECOOP 1999. Lecture Notes in Computer Science, vol 1628. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48743-3_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-48743-3_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66156-6

  • Online ISBN: 978-3-540-48743-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics