Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Static analysis to support the evolution of exception structure in object-oriented systems
Robillard M., Murphy G. ACM Transactions on Software Engineering and Methodology12 (2):191-221,2003.Type:Article
Date Reviewed: Nov 25 2003

In object-oriented development environments, software developers have historically had difficulty determining propagated exception types and the reasons for unintended exceptions being caught. This problem may be due to type subsumption or simply to poor documentation, but it affects the developer’s ability to devise recovery procedures or to report unhandled exceptions constructively.

This paper, by Robillard and Murphy, considers a static analysis tool, Jex, which is used to provide exception flow information for Java programs. The exception flow analysis is presented at both the local level (caught exceptions) and global level (the propagation path). More specifically, Jex takes an input set of Java source files, and produces a human-readable file for each class that shows the formatted view of the exception flow for each method of a class. The model used by Jex is based on an earlier (1993) work on Ada. The implementation of Jex is based on an extension to the code of an open source Java compiler. The architecture of Jex is organized around four processes: parsing and type-checking source files, extracting exception flows, performing class-hierarchy analysis to determine dynamic bindings, and loading Jex files for querying.

Situations that require identification of actual exception objects (such as whether an exception thrown in a handler is the same as the one that would be caught by the catch clause) are currently outside the scope of Jex. Three existing software packages were analyzed using Jex, and the results are reported.

Reviewer:  Chenglie Hu Review #: CR128644 (0404-0441)
Bookmark and Share
 
Error Handling And Recovery (D.2.5 ... )
 
 
Object-Oriented Languages (D.3.2 ... )
 
 
Object-Oriented Programming (D.2.3 ... )
 
 
Restructuring, Reverse Engineering, And Reengineering (D.2.7 ... )
 
 
Coding Tools and Techniques (D.2.3 )
 
 
Distribution, Maintenance, and Enhancement (D.2.7 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Error Handling And Recovery": Date
(N,K) concept fault tolerance
Krol T. IEEE Transactions on Computers 35(4): 339-350, 1986. Type: Article
Nov 1 1987
Error recovery in asynchronous systems
Campbell R., Randell B. IEEE Transactions on Software Engineering SE-12(9): 811-826, 1986. Type: Article
Jul 1 1987
A component-based design and compositional verification of a fault-tolerant multimedia communication protocol
Hanumantharaya A., Sinha P., Agarwal A. Real-Time Imaging 9(6): 401-422, 2003. Type: Article
Oct 11 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy