Title :
Exception-Chain Analysis: Revealing Exception Handling Architecture in Java Server Applications
Author :
Fu, Chen ; Ryder, Barbara G.
Author_Institution :
Div. of Comput. & Inf. Sci., Rutgers Univ., Piscataway, NJ
Abstract :
Although it is common in large Java programs to rethrow exceptions, existing exception-flow analyses find only single exception-flow links, thus are unable to identify multiple-link exception propagation paths. This paper presents a new static analysis that, when combined with previous exception-flow analyses, computes chains of semantically-related exception-flow links, and thus reports entire exception propagation paths, instead of just discrete segments of them. These chains can be used 1) to show the error handling architecture of a system, 2) to assess the vulnerability of a single component and the whole system, 3) to support better testing of error recovery code, and 4) to facilitate the tracing of the root cause of a logged problem. Empirical findings and a case history for Tomcat show that a significant portion of the chains found in our benchmarks span multiple components, and thus are hard to find manually.
Keywords :
Java; error handling; file servers; program compilers; program diagnostics; program testing; software architecture; system recovery; Java server application; error handling; error recovery code testing; exception handling architecture; exception propagation path; exception-chain analysis; exception-flow analysis; program compiler; program tracing; semantically-related exception-flow link; static program analysis; Application software; Availability; Benchmark testing; Computer architecture; History; Information analysis; Java; Programming profession; Software engineering; System testing;
Conference_Titel :
Software Engineering, 2007. ICSE 2007. 29th International Conference on
Conference_Location :
Minneapolis, MN
Print_ISBN :
0-7695-2828-7
DOI :
10.1109/ICSE.2007.35