Comparative Study of Java Exception Analyses

자바 언어에 대한 예외 분석 방법 비교

  • 조장우 (부산외국어대학교 컴퓨터전자공학과) ;
  • 창병모 (숙명여자대학교 전산학과)
  • Published : 2001.06.01

Abstract

JDK 자바 컴파일러의 예외 분석은 프로그래머의 throws 선언에 의존하는 프로시저-내 분석이다. 이 분석에서는, 실제 발생하지 않는 예외들이나 실제 발생하는 예외보다 광범위한 예외들이 throws 구문에 선언되어 있는 경우, 적절한 예외 처리를 하지 못하는 문제가 발생한다. 이러한 문제의 해결을 위해 [1,2,3]에서 프로그래머의 선언과 무관한 프로시저-간 예외 분석기가 제시되었다. 본 논문에서는 이 두 분석 방법을 설계 구현하고 실험을 통해서 비교하였다. 실제 사용되는 자바 프로그램에 실험 결과, 프로시져-간 예외분석이 처리되지 않는 예외정보에 대해 프로시저-내 분석보다 정확한 결과를 제공함을 알 수 있었다.

Keywords

References

  1. B.-M. Chang, K. Yi, and J. Jo, 'Constraint-based analysis for Java,' SSGRR2000 Computer and e-business Conference, August 2000, L'Aquila, Italy
  2. B.-M. Chang, J. Jo, K. Yi, and K. Choe, 'Interproceduaral Exception Analysis for Java,' In Proceedings of 2001 ACM Symposium on Applied Computing, pages 620-625, Mar. 2001
  3. K. Yi and B.-M. Chang, 'Exception analysis for Java,' 'ECOOP'99 Workshop on Formal Techniques for Java Programs, June 1999
  4. K. Arnold and J. Gosling, 'The Java Programming Languages, Second Edition,' Addison-Wesley, 1997
  5. N. Heintze, 'Set-based program analysis,' Ph.D thesis, Carnegie Mellon University, Oct, 1992
  6. K. Yi and S. Ryu, 'Towards a cost-effective estimation of uncaught exceptions in SML programs,' In Lecture Note in Computer Science, volume 1302, pages 98-113, Springer-Verlag, Proceedings of 4th Static Analysis Symposium, Sep, 1997 https://doi.org/10.1007/BFb0032736
  7. D. Bacon and P. Sweeney, 'Fast Static Analysis of C++ Virtual Function Calls,' In Proceedings of 11th Anual Conference on Objected-Oriented Programming Systems, Languages, and Applications, pages 324-341, Jan 1994 https://doi.org/10.1145/236337.236371
  8. J. Dean, D. Grove, and C. Chambers, 'Optimization of objected-oriented program using static class hierarchy,' In Proceedings of 9th European Conference on Objected-Oriented Programming, pages 77-101, Aug. 1995
  9. G. Defouw, D. Grove, and C. Chambers, 'Fast interprocedural class analysis,' in Proceedings of 25th ACM SIGPLAN Symposium on Principles of Programming Languages, pages 222-236, Jan. 1998 https://doi.org/10.1145/268946.268965
  10. F. Tip and J. Parlsberg, 'Scalable Propagation-Based Call Graph Construction Algorithms,' In Proceedings of 15th Annual Conference on Objected-Oriented Programming Systems, Languages, and Applications, pages 281-293, Oct. 2000 https://doi.org/10.1145/353171.353190
  11. http://www.jars.com
  12. http://www.gamelan.com