Affiliation:
1. University of British Columbia, Vancouver, BC, Canada
Abstract
Exception-handling mechanisms in modern programming languages provide a means to help software developers build robust applications by separating the normal control flow of a program from the control flow of the program under exceptional situations. Separating the exceptional structure from the code associated with normal operations bears some consequences. One consequence is that developers wishing to improve the robustness of a program must figure out which exceptions, if any, can flow to a point in the program. Unfortunately, in large programs, this exceptional control flow can be difficult, if not impossible, to determine.In this article, we present a model that encapsulates the minimal concepts necessary for a developer to determine exception flow for object-oriented languages that define exceptions as objects. Using these concepts, we describe why exception-flow information is needed to build and evolve robust programs. We then describe Jex, a static analysis tool we have developed to provide exception-flow information for Java systems based on this model. The Jex tool provides a view of the actual exception types that might arise at different program points and of the handlers that are present. Use of this tool on a collection of Java library and application source code demonstrates that the approach can be helpful to support both local and global improvements to the exception-handling structure of a system.
Publisher
Association for Computing Machinery (ACM)
Reference45 articles.
1. Abadi M. and Cardelli L. 1996. A Theory of Objects. Monographs in Computer Science Springer-Verlag New York NY.]] Abadi M. and Cardelli L. 1996. A Theory of Objects. Monographs in Computer Science Springer-Verlag New York NY.]]
2. Bacon D. F. 1998. Fast and effective optimization of statically typed object-oriented languages. Ph.D. Thesis CSD-98-1017 (Oct.) University of California Berkeley.]] Bacon D. F. 1998. Fast and effective optimization of statically typed object-oriented languages. Ph.D. Thesis CSD-98-1017 (Oct.) University of California Berkeley.]]
3. Advanced exception handling mechanisms
Cited by
70 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献