skip to main content
10.1145/263698.263752acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free Access

Query-based debugging of object-oriented programs

Authors Info & Claims
Published:09 October 1997Publication History

ABSTRACT

Object relationships in modem software systems are becoming increasingly numerous and complex. Programmers who try to find violations of such relationships need new tools that allow them to explore objects in a large system more efficiently. Many existing debuggers present only a low-level, one-object-at-a-time view of objects and their relationships. We propose a new solution to overcome these problems: query-based debugging. The implementation of the query-based debugger described here offers programmers an effective query tool that allows efficient searching of large object spaces and quick verification of complex relationships. Even for programs that have large numbers of objects, the debugger achieves interactive response times for common queries by using a combination of fast searching primitives, query optimization, and incremental result delivery.

References

  1. AK89.Abiteboul, S.; Kanellakis, P.C., Object identity as a query language primitive. 1989 ACM S1GMOD International Conference on Management of Data, Portland, OR, USA, 31 May-2 June 1989). SIGMOD Record, vol.18, (no.2), pp. 159-73, June 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. And95.Anderson E., Dynamic Visualization of Object Programs written in C++, Objective Software Technology Ltd., http://www.scotnet.co.uk/ost, 1995.]]Google ScholarGoogle Scholar
  3. BC79.Buneman, O.P.; Clemons E.K., Efficiently Monitoring Relational Databases. A CM Transactions on Database Systems, 4(3), pp. 368-382, September 1979.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BKK88.Banerjee, J.; Kim, W.; Kim, K.-C., Queries in objectoriented databases. In: Proceedings Fourth International Conference on Data Engineering, Los Angeles, CA, USA, 1-5 Feb. 1988. Washington, DC, USA: IEEE Comput. Soe. Press, pp. 31-8, 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BLT86.Blakeley, J.A.; Larson P.-A.; Tompa F. Wm.; Efficiently Updating Materialized Views. Proceedings of the A CM SIGMOD Conference on Management of Data, pp. 61- 71, Washington, D.C., USA, May 1986. Published as SIGMOD Record 15(2), June 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bro88.Brown, M.H., Exploring Algorithms Using Balsa-H, IEEE Computer 21(5), pp. 14-36, May 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bro91.Brown, M.H., Zeus: A System for Algorithm Animation and Multi-View Editing, Proceedings of lEEE Workshop Visual Languages, pp. 4--9, IEEE CS Press, Los Alamitos, CA., 1991.]]Google ScholarGoogle ScholarCross RefCross Ref
  8. CHM94.Consens, M. P., Hasan M.Z., Men'delzon A.O., Debugging Distributed Programs by Visualizing and Querying Event Traces, Applications of Databases, First lnternational Conference, ADB-94, Vadstena, Sweden, June 21- 23, 1994, Proceedings in Lecture Notes in Computer Science, Vol. 819, Springer, 1994.]]Google ScholarGoogle Scholar
  9. CMR92.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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. CUL89.Chambers, C., Ungar, D., Lee, E., An Efficient Implementation of SELF a Dynamically-Typed Object- Oriented Language Based on Prototypes, In Proceedings of OOPSLA'89, pp. 49-70, New Orleans, LA, October 1989. Published as SIGPLAN Notices 24(10), October 1989.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cha93.Chambers. C. Cecil language: specification and rationale. UW-CS Technical Report 93-03-05, 1993.]]Google ScholarGoogle Scholar
  12. Cop94.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 Assoe, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. DHKV93.De Pauw, W.; Helm, R.; Kimelman, D.; Vlissides, J. Visualizing the behavior of object-oriented systems. In Proceedings of the 8th Annual A CM 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. DKV94.De Pauw, W.; Kimelman, D.; Vlissides, J. Modeling object-oriented program execution. In: Proceedings of the 8th European Conference on Object.Oriented Programming, ECOOP '94, Bologna, Italy, 4-8 July 1994. pp. 163-82, Ed!ted by: Tokoro, M.; Paresehi, R. Berlin, Germany: Springer-Verlag, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gol84.Goldberg, A., Smalltalk-80: The Interactive Programruing Environment, Addison-Wesley, Reading, MA, 1984.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. GH93.Golan, M.; Hanson, D.R. Duel-a very high-level debugging language. In: USENIX Association. Proceedh~gs of the Winter 1993 USENIX Conference. San Diego, CA, T USA, 25-29 Jan. 1993. Berkley, CA, USA: USENIX Assoc, 1993. p. 107-17.]]Google ScholarGoogle Scholar
  17. GR91.Gold, E.; Rosson, M.B., Portia: an instance-centered environment for SmaUtalk. OOPSLA '91. Object- Oriented Programming Systems, Languages, and Applications, Phoenix, AZ, USA, 6-i1 Oct, 1991. Published as SIGPLAN Notices, vol.26, (no.11), pp. 62-74, November 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. GWM89.Gamma E., Weinand A., Marly R., Integration of a Programming Environment into El'++- a Case Study, Proceedings ECOOP'89 (Nottingham, UK, July 10-14), pp. 283-297, S. Cook, ed. Cambridge University Press, Cambridge, 1989.]]Google ScholarGoogle Scholar
  19. HKR97.Hart D., Kraemer E., Roman G.-C., Interactive Visual Exploration of Distributed Computations. To appear in the International Parallel Processing Symposium 1997,]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. HU96.Ht~lzle, U.; Ungar, D., Reconciling Responsiveness with Performance in Pure Object-Oriented Languages, A CM Trans. Programming Languages and Systems 18(4), pp. 355-400, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. IK84.Ibaraki T., Kameda T., On the Optimal Nesting for Computing N-Relational Joins., ACM Transactions on Database Systems, Vol. 9, No. 3, pp. 482-502, September 1984.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. KBZ86.Krishnamurthy, R., Boral, H., Zaniolo, C., Optimization of Nonrecursive Queries., Proceedings of Internatlonal Conference on Very Large Data Bases (VLDB), pp. 128- 137, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. KRR94.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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Laf97.Laffra C., Advanced Java: Idioms, Pitfalls, Styles and Programming Tips, pp. 229-252, Prentice Hall 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. LM94.Laffra C., Malhotra A., HotWire: A Visual Debugger for C++, Proceedings of the USENIX C++ Conference, pp. 109-122, Usenix Association 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. LN95a.Lange, D.B., Nakamura Y. Program Explorer:. A Program Visualizer for C++, Proceedings of USENIX Conference on Object-Oriented Technologies'95, pp. 39- 54, June 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. LN95b.Lange, D.B., Nakamura Y. Object-Oriented Program Tracing and Visualization, IBM Research Report, July 1995.]]Google ScholarGoogle Scholar
  28. LN95c.Lange, D.B., Nakamura Y. Interactive Visualization of Design Patterns Can Help in Framework Understanding, Proceedings of OOPSLA'95, pp. 342-357, Austin, TX October 1995. Published as SIGPLAN Notices 30(10), October 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. LN97.Lange, D.B., Nakamura Y. Object-Oriented Program Tracing and Visualization, IEEE Computer, vol. 30, no. 5, pp. 63-70, May 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mey88.Meyer B., Object.oriented Software Construdtion, pp. ' I 11 - 163, Prentice-Hail, 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. ME92.Mishra, P., Eich, M. H., Join Processing in Relational Databases, A CM Computing Surveys, vol. 24, No. 1, pp. 63-113, March 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. NGB95.Noble J., Groves L., Biddle R., Object Oriented Program Visualisation in Tarraingim, Australian Computer Journal, 27:4, November 1995.]]Google ScholarGoogle Scholar
  33. NOT96.Nishimura, S.; Ohori, A.; Tajima, K., An equational object-oriented data model and its data-parallel query language. In: OOPSLA '96: Eleventh Annual Conference on Object Oriented Progranuning Systems Languages and Applications, San Jose, CA, USA, 6-10 Oct. 1996). Published as SIGPLAN Notices, vol.31, (no.10), pp. 1- 17, October 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. RC93.Roman G.-C., Cox K.C., A Taxonomy of Program Visualization Systems, IEEE Computer 26(12), pp. 11-24, December 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Rom92.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.]]Google ScholarGoogle ScholarCross RefCross Ref
  36. SAC+79.Selinger, P. G., Astrahan, M. M., Chamberlin, D. D., Lode, R. A., Price, T. G., Access Path Selection in a Relational Database Management System, Proceedings of the A CM SIGMOD Conference on Management of Data, pp. 23-34, Boston, USA, June 1979.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Sef96.Sefika M., Design Conformance Management of Software Systems: An Architecture-Oriented Approach. PIz.D. thesis, University of Illinois at Urbana-Champaign, July 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. SMK93.Steinbrunn, M., Moerkotte, G., Kemper, A., Optimizing Join Orders, Technical Report MIP 9307, Universit~t Passau, FMI, September 1993.]]Google ScholarGoogle Scholar
  39. SMU95.Smith, R.B.; Maloney, J.; Ungar, D. The Self-4.0 user interface: manifesting a system-wide vision of concreteness, uniformity, and flexibility. OOPSLA '95: Conference on Object Oriented Programming Systems Languages and Applications. Tenth Annual Conference, Austin, TX, USA, 15-19 Oct. 1995. Published as SIGPLAN Notices, vol.30, (no.10), pp. 47-60, October 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. SSC96.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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. Sta90.Stasko, J., TANGO: A Framework and System for Algorithm Animation, IEEE Computer 23(9), pp. 27-39.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. SI93.Swami, A., Iyer, B., A Polynomial Time Algorithm for Optimizing Join Queries, Proceedings of the IEEE Conference on Data Engineering, pp. 345-354, Vienna, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. SZ90.Shaw, G.M.; Zdonik, S.B., A query algebra for objectoriented databases. In: Sixth International Conference on Data Engineering, Los Angeles, CA, USA, 5-9 Feb. 1990. pp. 154-62, Los Alamitos, CA, USA: IEEE Comput. Soe, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Tip95.Tip, F., A survey of program slicing techniques. Journal of Programming Languages, vol.3, (no.3) pp. 121-89, Sept. 1995.]]Google ScholarGoogle Scholar
  45. Ull82.Ullman, J.D., Principles of Database Systems, pp. 268- 316, Computer Science Press 1982.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. US87.Ungar, D., Smith, R.B., Self: The Power of Simplicity, Proceedings of OOPSLA'87, pp. 227-243, Orlando, FL, October 1987. Published as SIGPLAN Notices 22(12), October 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Wei81.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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. WLG93.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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. WG94.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 UB1LAB Conference '94, Zurich, Switzerland, 1994. pp. 66-92. Edited by: Bisehofberger, W.R.; Frei, H.-P. Konstanz, Switzerland: Universit~itsverlag Konstanz, 1994.]]Google ScholarGoogle Scholar
  50. ZL96.Zeller A., Liitkehaus D. DDD - A Free Graphical Front- End for UNIX Debuggers. ACM SIGPLAN Notices, Vol. 31, No. 1, pp. 22-28, January 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    October 1997
    345 pages
    ISBN:0897919084
    DOI:10.1145/263698

    Copyright © 1997 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 9 October 1997

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate268of1,244submissions,22%

    Upcoming Conference

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader