JHYDE - THE JAVA HYBRID DEBUGGER

Christian Hermanns, Herbert Kuchen

Abstract

We present a hybrid debugger for the Java programming language which integrates declarative and omniscient debugging techniques. Omniscient debugging is an extension of trace debugging which is the most common debugging method for Java programs. Declarative debugging is a technique mostly used in the area of functional and logic approaches. By combining both techniques our debugger benefits from the advantages of both techniques. We demonstrate how to use our debugger and mention important aspects of its implementation. Furthermore, we develop a declarative debugging strategy to reduce the number of questions and give empirical evidence of its usefulness.

References

  1. Caballero, R., Hermanns, C., and Kuchen, H. (2007). Algorithmic Debugging of Java Programs. Electronic Notes in Theoretical Computer Science, 177:75-89.
  2. Caballero, R. and Rodríguez-Artalejo, M. (2002). A Declarative Debugging System for Lazy Functional Logic Programs. Electronic Notes in Theoretical Computer Science, 64.
  3. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2001). Introduction to Algorithms. The MIT Press, 2nd edition.
  4. Eclipse Foundation (2010). Eclipse IDE. http:// www.eclipse.org/.
  5. Fritzson, P., Shahmehri, N., Kamkar, M., and Gyimothy, T. (1992). Generalized algorithmic debugging and testing. ACM Letters on Programming Languages and Systems, 1(4):303-322.
  6. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns. Addison-Wesley, Boston, MA.
  7. Girgis, H. Z. and Jayaraman, B. (2006). JavaDD: a Declarative Debugger for Java. Technical report, Department of Computer Science and Engineering, University at Buffalo.
  8. Hailpern, B. and Santhanam, P. (2002). Software debugging, testing, and verification. IBM Systems Journal, 41(1):4-12.
  9. Hermanns, C. (2010). JHyde - Eclipse plugin. http:// www.wi.uni-muenster.de/pi/personal/hermanns.php.
  10. Kouh, H.-J., Kim, K.-T., Jo, S.-M., and Yoo, W.-H. (2004). Computational Science and Its Applications - ICCSA 2004, volume 3046 of Lecture Notes in Computer Science, chapter Debugging of Java Programs Using HDT with Program Slicing, pages 524-533. Springer.
  11. Lewis, B. (2003). Debugging Backwards in Time. CoRR, cs.SE/0310016.
  12. Nilsson, H. (2001). How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger. Journal of Functional Programming, 11(6):629- 671.
  13. Object Web (2009). Asm. http://asm.ow2.org/.
  14. Pressman, R. S. (2001). Software Engineering: A Practitioner's Approach. McGrap-Hill, fifth edition.
  15. Shahmehri, N. and Fritzson, P. (1991). Compiler Compilers, volume 477 of Lecture Notes in Computer Science, chapter Algorithmic debugging for imperative languages with side-effects, pages 226-227. Springer.
  16. Shapiro, E. Y. (1983). Algorithmic Program DeBugging. MIT Press.
  17. Silva, J. (2007). Logic-Based Program Synthesis and Transformation, volume 4407 of Lecture Notes in Computer Science, chapter A Comparative Study of Algorithmic Debugging Strategies, pages 143-159. Springer.
  18. Zeller, A. (2005). Why Programs Fail: A Guide to Systematic Debugging, chapter How Failures Come to Be, pages 1-26. Morgan Kaufmann.
Download


Paper Citation


in Harvard Style

Hermanns C. and Kuchen H. (2011). JHYDE - THE JAVA HYBRID DEBUGGER . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-77-5, pages 25-35. DOI: 10.5220/0003441200250035


in Bibtex Style

@conference{icsoft11,
author={Christian Hermanns and Herbert Kuchen},
title={JHYDE - THE JAVA HYBRID DEBUGGER},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,},
year={2011},
pages={25-35},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003441200250035},
isbn={978-989-8425-77-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,
TI - JHYDE - THE JAVA HYBRID DEBUGGER
SN - 978-989-8425-77-5
AU - Hermanns C.
AU - Kuchen H.
PY - 2011
SP - 25
EP - 35
DO - 10.5220/0003441200250035