Extensible Symbolic Debugging for Distributed Object Systems

  • Giuliano Mega Università degli Studi di Trento
  • Fabio Kon USP

Resumo


After over thirty years of distributed computing, debugging distributed applications is still regarded as a difficult task. While it could be argued that this condition stems from the complexity of distributed executions, the fast pace of evolution witnessed with distributed computing technologies has also played its role by shortening the lifespan of many useful debugging tools. In this Masters thesis summary, we briefly summarize our incursion in building an extensible tool which puts distributed threads and symbolic debuggers together, resulting in a simple and useful debugging tool/technique. The tool is extensible and backed by a technique supported by features that are common to synchronous-call middleware implementations, making them suitable candidates for surviving technology evolution.

Referências

Birman, K. P. (2004). Like it or not, web services are distributed objects. Communications of the ACM, 47(12):60–62.

Cargill, T. and Locanthi, B. (1987). Cheap Hardware Support for Software Debugging and Profiling. ACM SIGARCH Computer Architecture News, 15(5):82–83.

Cheng, D. and Hood, R. (1994). A portable debugger for parallel and distributed programs. In Proc. of the 1994 ACM/IEEE conf. on Supercomputing, pages 723–732.

Coulouris, G., Dollimore, J., and Kindberg, T. (2005). Distributed Systems: Concepts and Design. Addison-Wesley, 4th edition.

Evans, T. G. and Darley, D. L. (1966). On-line debugging techniques: a survey. In Proc. of the Nov. 7-10 AFIPS fall joint computer conference, pages 37–50.

Gait, J. (1986). The Probe Effect in Concurrent Programs. Soft.: P & E, 16(3):225–233.

Gama, E., Johnson, R., Helm, R., and Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.

Hondroudakis, A. (1995). Performance analysis tools for parallel programs. Technical report, Edinburgh Parallel Computing Centre.

Mega, G. (2008). Depuração Simbólica Extensível para Sistemas de Objetos Distribuídos. Master’s thesis, Universidade de São Paulo.

Mega, G. and Kon, F. (2004). Debugging Distributed Object Applications with the Eclipse Platform. In Proc. of the 2004 OOPSLA Eclipse Technology eXchange, pages 42–46.

Mega, G. and Kon, F. (2005). GOD: Um Depurador Simbólico para Sistemas de Objetos Distribuídos. Anais Eletrônicos do Salão de Ferramentas do Simpósio Brasileiro de Engenharia de Software de 2005 (SBES’05).

Mega, G. and Kon, F. (2006). Depurando Sistemas de Objetos Distribuídos da Forma que Gostaríamos. In Proc. of the 24th SBRC, pages 1131–1346.

Mega, G. and Kon, F. (2007). An Eclipse-based Tool for Symbolic Debugging of Distributed Object Applications. In Meersman, R. and Tari, Z., editors, Proc. of the 2007 Symposium on Distributed Objects and Applications (DOA’07), volume 4803 of LNCS, pages 648–666. Springer.

Object Management Group (2004). The Common Object Request Broker Architecture.

Rosenberg, J. B. (1996). How Debuggers Work: Algorithms, Data Structures, and Architecture. Wiley, 1st edition.

Schwarz, R. and Mattern, F. (1994). Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail. Distributed Computing, 7(3):149–174.

Sun Microsystems (2004). Java RMI Specification. Sun Microsystems.

Tanenbaum, A. S. and van Renessee, R. (1987). A critique of the remote procedure call paradigm. In Proc. of the 1987 EUTECO, pages 775–783.

Vinoski, S. (2008). Convenience Over Correctness. IEEE Internet Computing, 12:89–92.

Wright, D. and Freeman-Benson, B. (2004). How To Write an Eclipse Debugger. [link].
Publicado
20/07/2009
MEGA, Giuliano; KON, Fabio. Extensible Symbolic Debugging for Distributed Object Systems. In: CONCURSO DE TESES E DISSERTAÇÕES (CTD), 22. , 2009, Bento Gonçalves/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2009 . p. 73-80. ISSN 2763-8820.