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.
- 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 ScholarDigital Library
- And95.Anderson E., Dynamic Visualization of Object Programs written in C++, Objective Software Technology Ltd., http://www.scotnet.co.uk/ost, 1995.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Bro88.Brown, M.H., Exploring Algorithms Using Balsa-H, IEEE Computer 21(5), pp. 14-36, May 1988.]] Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Cha93.Chambers. C. Cecil language: specification and rationale. UW-CS Technical Report 93-03-05, 1993.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Gol84.Goldberg, A., Smalltalk-80: The Interactive Programruing Environment, Addison-Wesley, Reading, MA, 1984.]] Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- HKR97.Hart D., Kraemer E., Roman G.-C., Interactive Visual Exploration of Distributed Computations. To appear in the International Parallel Processing Symposium 1997,]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Laf97.Laffra C., Advanced Java: Idioms, Pitfalls, Styles and Programming Tips, pp. 229-252, Prentice Hall 1997.]] Google ScholarDigital Library
- LM94.Laffra C., Malhotra A., HotWire: A Visual Debugger for C++, Proceedings of the USENIX C++ Conference, pp. 109-122, Usenix Association 1994.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- LN95b.Lange, D.B., Nakamura Y. Object-Oriented Program Tracing and Visualization, IBM Research Report, July 1995.]]Google Scholar
- 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 ScholarDigital Library
- LN97.Lange, D.B., Nakamura Y. Object-Oriented Program Tracing and Visualization, IEEE Computer, vol. 30, no. 5, pp. 63-70, May 1997.]] Google ScholarDigital Library
- Mey88.Meyer B., Object.oriented Software Construdtion, pp. ' I 11 - 163, Prentice-Hail, 1988.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- NGB95.Noble J., Groves L., Biddle R., Object Oriented Program Visualisation in Tarraingim, Australian Computer Journal, 27:4, November 1995.]]Google Scholar
- 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 ScholarDigital Library
- RC93.Roman G.-C., Cox K.C., A Taxonomy of Program Visualization Systems, IEEE Computer 26(12), pp. 11-24, December 1993.]] Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- SMK93.Steinbrunn, M., Moerkotte, G., Kemper, A., Optimizing Join Orders, Technical Report MIP 9307, Universit~t Passau, FMI, September 1993.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Sta90.Stasko, J., TANGO: A Framework and System for Algorithm Animation, IEEE Computer 23(9), pp. 27-39.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Tip95.Tip, F., A survey of program slicing techniques. Journal of Programming Languages, vol.3, (no.3) pp. 121-89, Sept. 1995.]]Google Scholar
- Ull82.Ullman, J.D., Principles of Database Systems, pp. 268- 316, Computer Science Press 1982.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
Recommendations
Reconciling responsiveness with performance in pure object-oriented languages
Dynamically dispatched calls often limit the performance of object-oriented programs, since opject-oriented programming encourages factoring code into small, reusable units, thereby increasing the frequency of these expensive operations. Frequent calls ...
Empirical assessment of object-oriented implementations with multiple inheritance and static typing
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applicationsObject-oriented languages involve a threefold tradeoff between runtime efficiency, expressiveness (multiple inheritance), and modularity, i.e. open-world assumption (OWA). Runtime efficiency is conditioned by both the implementation technique and ...
Protection traps and alternatives for memory management of an object-oriented language
SOSP '93: Proceedings of the fourteenth ACM symposium on Operating systems principlesMany operating systems allow user programs to specify the protection level (inaccessible, read-only, read-write) of pages in their virtual memory address space, and to handle any protection violations that may occur. Such page-protection techniques have ...
Comments