DOI QR코드

DOI QR Code

Design of an Algorithmic Debugging Technique for Java Language

자바 언어를 위한 알고리즈믹 디버깅 기술의 설계

  • 고훈준 (인하대학교 대학원 전자계산공학과) ;
  • 유원희 (인하대학교 전자계산공학과)
  • Published : 2004.02.01

Abstract

This paper proposes to use an algorithmic debugging technique for locating logical errors in Java programs. The algorithmic debugging is a semi-automated debugging technique that builds an execution tree from a source program and locates logical errors, if any, included in the program from the execution tree with top-down method. So, it is very important to build a suitable execution tree from the various programming languages. In this paper we propose the method for building an execution tree iron Java programs and walk through an example. This approach could reduce the number of interactions between a user and a debugging system than the traditional step-wise debugging technique.

본 논문은 자바 프로그램에서 논리적인 오류를 발견하기 위해 알고리즈믹 디버깅 기술의 이용을 제안한다. 알고리즈믹 디버깅 기술은 원시프로그램으로부터 실행 트리를 생성하고, 실행 트리로부터 프로그램 내에 포함된 논리적인 오류를 하향식 방법으로 발견하는 반자동화 디버깅기술이다. 따라서 알고리즈믹 디버깅 기술은 다양한 프로그래밍 언어에 알맞은 실행 트리를 생성하는 것이 중요하다. 주 논문에서는 자바 프로그램으로부터 실행 트리를 생성하는 방법을 제안하고 예제론 통해서 자바 프로그램을 위한 알고리즈믹 디버깅 기술을 확인한다. 이 접근은 전통적인 순차적 디버깅 기술보다 사용자와 디버깅 시스템 사이에서 상호작용의 수를 줄일 수 있다.

Keywords

References

  1. M. Auguston, 'A language for debugging automation,' In Proceedings of the 6th International Conference on Software Engineering and Knowledge Engineering, Knowledge Systems Institute, pp.108-115, June, 1994
  2. P. Fritzson, M. Auguston and N. Shahmehri, 'Using Assertions in Declarative and Operational Models of Automated Debugging,' The Journal of Systems and Software 25, pp. 223-239, 1994 https://doi.org/10.1016/0164-1212(94)90032-9
  3. H. J. Kouh and W. H. Yoo, 'Algorithmic Debugging in Java Programs,' ACIS Annual International Conference on Computer and Information Science (ICIS '02), August, 2002
  4. G. Kovacs, F. Magyar and T. Gyirnothy, 'Static Slicing of JAVA Programs,' Research Group on Artificial Intelligence(RGAI), Hungarian Academy of Sciences, Jozsef Attila University, HUNGARY, December, 1996
  5. Z. Chen and B. Xu, 'Slicing Object-Oriented Java Programs,' ACM SIGPLAN Notices, Vol.36, No.4, pp 33-40, April, 2001 https://doi.org/10.1145/375431.375418
  6. C. Mateis, M. Stumptner and F. Wotawa, 'Debugging of Java Programs using a model-based approach,' In Proceedings of the Tenth International Workshop on Principles of Diagnosis, Loch Awe, Scotland, 1999
  7. C. Mateis, M. Stumptner and Franz Wotawa, 'Locating bugs in java Programs-first results of the Java Diagnosis Experiments (Jade) project,' In Proceedings of IEA/AIE, New Orleans, Springer-Verlag, 2000
  8. M. Stumptner, D. Wieland and F. Wotawa, 'Analysing models for software debugging,' Technische Universitat Wien Institut fur Informations systeme Database and Artificial Intelligence Group, 2001
  9. R. Lencevicius, 'On-the-fly Query-Based Debugging with Examples,' In Proceeding of the Fourth International Workshop on Automated and Algorithmic Debugging, AADE BUG '2000, Munich, Germany, August, 2000
  10. P. Fritzson, N. Shahmehri, M. Kamkar and T. Gyimothy, 'Generalized Algorithmic Debugging and Testing,' In Proceeding of the 1991 ACM SIGPLAN Conference, Toronto, Canada, pp.317-326, June, 1991
  11. E. Shapiro, Algorithmic Program Debugging, MIT Press, May, 1982
  12. G. Kokai, L. Harmath and T. Gyim'othy, 'Algorithmic Debugging and Testing of Prolog Programs,' ICLP '97 The Fourteenth International Conference on Logic Programming, Eighth Workshop on Logic Programming Environments Leuven, Belgium, pp.14-21, July, 1997
  13. H. Nilsson and P. Fritzson, 'Algorithmic debugging for lazy functional languages,' In Proceedings of PLILP '92-Symposium on Programming Language Implementation and Logic Programming, Leuven, Belgium, August, 1992. LNCS 631, Springer-Verlag, 1992 https://doi.org/10.1007/3-540-55844-6_149
  14. H. Nilsson and P. Fritzson, 'Lazy Algorithmic Debugging: Ideas for Practical Implementation,' The First International Workshop on Automated and Algorithmic Debugging, AA DEBUG '93, 1993 https://doi.org/10.1007/BFb0019405
  15. J. Gosling, B. JOY and G. Steels, Java Languages Specification, Addison-Wesley, 1996
  16. 고훈준, 유원희, '테스트 시스템을 위한 프로그래밍 언어와 컴파일러 설계', 한국정보과학회 논문지 : 컴퓨팅의 실제, 한국정보과학회, 제8권 제3호, 2002