This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Back to the Future: Omniscient Debugging
November/December 2009 (vol. 26 no. 6)
pp. 78-85
Guillaume Pothier, University of Chile
Éric Tanter, University of Chile
Debugging is a tedious and costly process that demands a profound understanding of the dynamic behavior of programs. An omniscient debugger makes the task of tracking down the root cause of bugs straightforward by enabling programmers to seamlessly navigate a buggy program's execution history. So why don't we all have an omniscient debugger in our favorite development environment? Are the challenges of making omniscient debugging practical a definitive barrier to its adoption? This article describes TOD, a scalable omniscient debugger for Java. TOD is integrated into the Eclipse IDE and paves the way for practical omniscient debugging.

1. Nat'l Inst Standards and Technologies, "Software Errors Cost U.S. Economy $59.5 Billion Annually," June 2002; www.nist.gov/public_affairs/releases/n02-10.htm.
2. M. Eisenstadt, "My Hairiest Bug War Stories," Comm. ACM, vol. 40, no. 4, 1997, pp. 30–37.
3. B. Lewis, "Debugging Backwards in Time," Proc. 5th Int'l Workshop Automated Debugging (AADEBUG 03), M. Ronsse, and K.D. Bosschere eds., Computer Science Repository, 2003.
4. R.M. Balzer, "EXDAMS—, Extendable Debugging and Monitoring," Proc. Am. Federation of Information Processing Societies Spring Joint Computer Conf., ACM Press, 1969, pp. 567–580.
5. G. Pothier, É. Tanter, and J. Piquer, "Scalable Omniscient Debugging," Proc. 22nd ACM SIGPLAN Conf. Object-Oriented Programming Systems, Languages and Applications (OOPSLA 07), ACM Press, 2007, pp. 535–552.
6. A.J. Ko and B.A. Myers, "Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior," Proc. 30th Int'l Conf. Software Eng. (ICSE 08), ACM Press, 2008, pp. 301–310.
7. P. Gestwicki and B. Jayaraman, "Methodology and Architecture of JIVE," Proc. 2005 ACM Symp. Software Visualization (SoftVis 05), ACM Press, 2005, pp. 95–104.
8. H. Lieberman, "Steps toward Better Debugging Tools for Lisp," Proc. 1984 ACM Symp. LISP and Functional Programming (LFP 84), ACM Press, 1984, pp. 247–255.
9. H. Lieberman and C. Fry, "ZStep 95: A Reversible, Animated Source Code Stepper," Software Visualization—Programming as a Multimedia Experience, J. Stasko et al., eds., MIT Press, 1998, pp. 277–292.
10. C. Hofer, M. Denker, and S. Ducasse, "Implementing a Backward-in-Time Debugger," Proc. Net.Object Days (NODe 06), Lecture Notes in Informatics, vol. P-88, Gesellschaft für Informatik, 2006, pp. 17–32.
11. A. Lienhard, T. Gîrba, and O. Nierstrasz, "Practical Object-Oriented Back-in-Time Debugging," Proc. European Conf. Object-Oriented Programming (ECOOP 08), Springer, 2008, pp. 592–615.
12. T. Elrad, R.E. Filman, and A. Bader, "Aspect-Oriented Programming," Comm. ACM, vol. 44, no. 10, 2001, pp. 29–32.
13. G. Pothier and É Tanter, "Extending Omniscient Debugging to Support Aspect-Oriented Programming," Proc. 23rd ACM Symp. Applied Computing (SAC 08), vol. 1, ACM Press, 2008, pp. 266–270.

Index Terms:
debugging aids, integrated environments, debuggers
Citation:
Guillaume Pothier, Éric Tanter, "Back to the Future: Omniscient Debugging," IEEE Software, vol. 26, no. 6, pp. 78-85, Nov.-Dec. 2009, doi:10.1109/MS.2009.169
Usage of this product signifies your acceptance of the Terms of Use.