DOI QR코드

DOI QR Code

신뢰성 높은 JaVa 프로그램 개발을 위한 예외 모니터링 시스템

An Exception Monitoring System for Developing Reliable Java Programs

  • 발행 : 2005.12.01

초록

자바 언어는 신뢰성 있는 프로그램의 개발을 위해 예외를 처리할 수 있는 명시적인 예외 처리 메커니즘을 제공한다. 따라서 신뢰성 있는 프로그램 개발을 위해서는 실행 시간에 발생 가능한 예외에 대한 적절한 처리가 매우 중요하다 본 논문에서는 신뢰성 있는 프로그램 개발을 위한 동적 예외 모니터링 시스템을 개발하였다. 이 시스템은 프로그래머가 효과적으로 실제 발생된 예외의 처리, 전파과정을 모니터링 할 수 있으며 이러한 기능을 이용하여 좀더 적절한 예외 처리가 가능하도록 하며 결과적으로 개발된 프로그램의 신뢰성을 항상 시킬 수 있다. 본 시스템은 사용자 옵션을 통하여 관심 있는 예외들만을 모니터링 할 수 있으며 또한 시스템의 성능 부하를 줄이기 위해 기존의 코드에 필요한 모니터링 코드만을 삽입하는 방식으로 시스템을 설계하고 구현하였다. 또한 실험을 통해서 그 효과를 보였다.

Exception mechanism in Java allows programmers to define, throw and catch exceptional conditions. It is important for the development of reliable programs to make sure that exceptions are handled appropriately at run-time. In this paper, we develop an exception monitoring system, which can help programmers trace and handle exceptions effectively. Using this system, programmers can examine exception handling process in detail by tracing only interesting exceptions, and can handle exceptions more effectively. To reduce performance overhead, we design the system based on code instrumentation. Moreover, we show the effectiveness of the system by experiments on benchmark programs.

키워드

참고문헌

  1. B.-M. Chang, J. Jo, and S. Her, Visualization of Exception Propagation for Java using Static Analysis, Proceedings of IEEE Workshop on Source Code Analysis and Manipulation, Oct., 2002 https://doi.org/10.1109/SCAM.2002.1134117
  2. B.-M Chang, J. Jo, K. Yi, and K. Choe, 'Interprocedural Exception analysis for java,' Proceedings of ACM Symposium on Applied Computing, pp.620-625, Mar., 2001 https://doi.org/10.1145/372202.372786
  3. B. Bokowski, Andre Spiegel. Barat A Front-End for Java. Technical Report B-98-09, December, 1998
  4. B. Dufour, K. Driesen, L. Hendren and C. Verbrugge. Dynamic Metrics for Java. ACM OOPSLA '03, Anaheim, CA, October, 2003 https://doi.org/10.1145/949305.949320
  5. E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design Patterns:Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
  6. J. Gosling, B. Joy and G. Steele, 'The Java Programming Language Specification,' Addison-Wesley. 1996
  7. M. P. Robillard and G. C. Murphy, Analyzing exception flow in Java programs, ACM SIGSOFT Symposium on Foundation of Software Engineering, pp.322-337 https://doi.org/10.1145/318773.319251
  8. B. G. Ryder, D. Smith, U. Kremer, M. Gordon, and N. Shah, 'A static study of Java Exceptions using JESP,' Tech. Rep. DCS-TR-403, Rutgers University, Nov., 1999
  9. AdaptJ: A Dynamic Application Profiling Toolkit for Java, http://www.sable.mcgill.ca/~bdufou1/AdaptJ
  10. Sun Microsystems, J2ME Wireless Toolkit, http://java.sun.com