DOI QR코드

DOI QR Code

Design of Hybrid Debugging System for Java Programs

자바 프로그램을 위한 복합 디버깅 시스템의 설계

  • 고훈준 (경인여자대학 정보미디어학부)
  • Published : 2009.01.28

Abstract

In the previous work, we presented HDTS for locating logical errors in Java programs. The HDTS locates an erroneous method at an execution tree using an algorithmic program debugging technique and locates a statement with errors in the erroneous method using a step-wise program debugging. The technique can remove the unnecessary statements and nodes in debugging using a program slicing technique at the execution tree. So HDTS reduces the number of program debugging. In this paper, we design HDTS system for debugging java programs. We define small subset of Java language and design the translator that translates java source codes and the virtual machine that runs java programs. We design GUI(Graphical User Interface) for debugging.

기존 연구에서는 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDTS를 제안했었다. HDTS는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 그리고 분할 기술을 이용하여 오류를 포함하고 있는 메소드 내의 문장 중에서 디버깅에 관련이 없는 문장과 실행트리에서 불필요한 노드를 제거하여 노드의 수를 줄임으로서 사용자가 디버깅하는 횟수를 최소화할 수 있는 프로그램 디버깅 기술이다. 본 논문은 자바 프로그램을 디버깅할 수 있는 HDTS 시스템을 구현하기 위한 설계를 한다. 먼저, 자바의 부분언어를 정의하고 자바 원시 코드를 번역할 수 있는 번역기와 실행할 수 있는 가상머신을 설계한다. 그리고 사용자가 디버깅하기 위한 사용자 그래픽 인터페이스를 설계한다.

Keywords

References

  1. 고훈준, "자바 원시 코드에서 논리적인 오류를 찾는 복합 디버깅 기술의 설계", 한국콘텐츠학회논문지, 제6권, 제10호, pp.114-125, 2006.
  2. H. Agrawal, Toward Automatic Debugging of Computer Programs, Ph. D. Thesis, Purdue University, 1991.
  3. J. Amsterdam, A SIMPL Compiler, BYTE, Vol.110, No.11, 1985.
  4. Z. Chen and B. Xu, "Slicing Object-Oriented Java Programs", ACM SIGPLAN Notices, Vol.36, No.4, pp.33-40, 2001. https://doi.org/10.1145/375431.375418
  5. C. W. Fraser and D. R. Hanson, "A Retargetable Compiler for ANSIC," ACM SIGPLAN Notices Vol.26, No.10, pp.29-43, 1991. https://doi.org/10.1145/122616.122621
  6. J. Gosling, B. Joy and G. Steel, Java Languages Specification, Addison-Wesley, 1996.
  7. M. Khouzam and T. Kunz, "Single Stepping in Event-Visualization Tools", P. of the 1996 CAS Conference, pp.103-114, 1996.
  8. G. Kokai, L. Harmath, and T. Gyim'othy, "Algorithmic Debugging and Testing of Prolog Programs," P. of the 4th International Conference on Logic Programming, 8th Workshop on Logic Programming Environments Leuven-ICLP '97, pp.14-21, 1997.
  9. H. J. Kouh and W. H. Yoo, "The Efficient Debugging System for Locating Logical Errors in Java Programs," P. of International Conference on Computational Science and Its Application-ICCSA 2003, LNCS, Vol.2667, pp.684-693, 2003
  10. J. R. Levine, T. Mason, and D. Brown, LEX & YACC, O'Reilly & Associates, Inc., 1995.
  11. F. Tip, "A survey of program slicing techniques," J. of Programming Languages, Vol.3, No.3, pp.121-189, 1995.