Exception analysis for languages with exceptions프로그램 실행 중 처리되지 않는 예외상황을 예측하는 방법

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 575
  • Download : 0
Exception handling facilities are useful but dangerous. Many modern programming languages such as C++, Java, Ada, Modula-3, and ML provide the programmer with exception mechanisms. However, the exception facilities can provide a hole for program safety. Even for type-safe programming languages like ML, exceptions provide a hole for program safety. ML programs can abruptly halt when an exception is raised and never handled. This is the only one "safety hole" in well-typed ML programs. Multithreaded exception handling is not well supported. Even though many languages offer both exception handling and multithreading mechanisms, they do not provide a good method to use these two features together. Although Java provides a simple and tightly integrated language support for multithreaded programs, throwing exceptions across threads is deprecated because of the safety problem. In this thesis, we present two static analyses that detect potential runtime exceptions that are raised and never handled. We first design such an analysis for single-threaded ML programs and then for multithtreaded Java programs. We found that even though the exception flow and control flow are in general intertwined in ML programs, the two analyses could be safely and cost-effectively decoupled. For cases where exceptions carry functions(i.e., where control flow analysis needs exception analysis) our control flow analysis uses a crude approximation to assure its safety against the decoupling. In Java, throwing exceptions across threads is deprecated because of the safety problem. Instead of restricting programmers` freedom, we extend the Java language to support multithreaded exception handling and propose a tool to detect uncaught exceptions. Our analysis firstly estimates concurrently evaluated expressions among threads, and then predicts uncaught exceptions by using the pre-analyzed concurrency information. Our method can be applied to other languages with exception handling facilities....
Advisors
Yi, Kwang-Keunresearcher이광근researcher
Description
한국과학기술원 : 전산학전공,
Publisher
한국과학기술원
Issue Date
2001
Identifier
169625/325007 / 000965808
Language
eng
Description

학위논문(박사) - 한국과학기술원 : 전산학전공, 2001.8, [ viii, 159 p. ]

Keywords

Java; ML; static analysis; exception; multithread; 다중스레드; 자바; ML; 정적분석; 예외상황

URI
http://hdl.handle.net/10203/33350
Link
http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=169625&flag=dissertation
Appears in Collection
CS-Theses_Ph.D.(박사논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0