Dynamic Exception Analysis for Ja va Program by Program Transformation
暂无分享,去创建一个
자바 언어는 신뢰성 있는 프로그램의 개발을 위해 예외 를 처리할 수 있는 명시적인 예외 처리 메커니즘을 제공한 다. 자바의 예외 메커니즘은 모든 예외 타입이 Throwable 클래스나 이것의 서브 클래스를 상속받아야 하며, 예외를 발생시키는 throw문과 발생된 예외를 처리해주는 try-catch 문을 제공한다. 이러한 예외 메커니즘을 통해 프로그램의 신뢰성을 향상 시키기 위해서 프로그래머는 발생 가능한 예외를 적절히 처리해야 한다. 만약 발생된 예외에 대해서 적절한 처리가 이루어지지 못하면 프로그램의 실행이 멈출 수 있으므로 실행 시간에 처리 되지 못하는 예외들을 분석하는 일은 매 우 중요하다. 그 동안 이러한 예외 처리 여부에 대한 연구는 정적 분 석을 중심으로 이루어져 왔으며 이러한 방법은 프로그램 실행 중에 예외 발생, 처리, 전파에 대한 정확한 정보를 제 공해주지 못하는 문제점이 있다[3][4]. 본 연구의 대상인 J2ME같은 내장형 소프트웨어에서는 신뢰성 있는 프로그램 개발이 매우 중요하다. 이를 위해 개 발 과정에서 실제 실행 중에 발생하는 예외와 이들의 처리 과정을 살펴볼 수 있는 개발 환경이 필요하며 이를 통해 보다 신뢰성 있는 프로그램 개발이 가능할 것이다. 현재 이 부분에 대한 연구는 시작 단계에 있다[2]. 본 연구에서는 이를 위하여 프로그램 변환을 이용해 실 행 중에 발생, 처리, 전파되는 예외 정보를 실시간으로 제 공할 수 있는 시스템을 설계, 개발한다. 이 시스템은 사용 자가 동적 예외 분석을 위한 옵션을 선택하면 이를 바탕으 로 예외 트레이스 정보를 실행 중에 실시간으로 제공한다. 이를 이용하면 좀 더 세부적이고 동적인 예외 분석이 가능
[1] Byeong-Mo Chang,et al. Visualization of exception propagation for Java using static analysis , 2002, Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation.
[2] André Spiegel,et al. Barat - a front end for java , 1998 .
[3] Barbara G. Ryder,et al. A Static Study of Java Exceptions Using JESP , 2000, CC.
[4] Laurie Hendren,et al. Dynamic metrics for java , 2003, OOPSLA 2003.