Software Practices Lab Homepage
People
Publications
Papers
Theses
Projects
Information Fragments
Mylyn
Registration-Based Abstraction
Summarizing Software Artifacts
past projects...
Reading Group
SPL Wiki [local access]

Analyzing Exception Flow in Java Programs
Martin P. Robillard and Gail C. Murphy

In O. Nierstrasz and M. Lemoine, editors, Software Engineering---ESEC/FSE'99, (Proceedings of the 7th European Software Engineering Conference and 7th ACM SIGSOFT Symposium on the Foundations of Software Engineering; Toulouse, France; 6--10 September 1999), volume 1687 of Lecture Notes in Computer Science, pages 322-337. Springer, 1999.

PDF   Slides from talk

Copyright Springer-Verlag. LNCS Series homepage.

Abstract

Exception handling mechanisms provided by programming languages are intended to ease the difficulty of developing robust software systems. Using these mechanisms, a software developer can describe the exceptional conditions a module might raise, and the response of the module to exceptional conditions that may occur as it is executing. Creating a robust system from such a localized view requires a developer to reason about the flow of exceptions across modules. The use of unchecked exceptions, and in object-oriented languages, subsumption, makes it difficult for a software developer to perform this reasoning manually. In this paper, we describe a tool called Jex that analyzes the flow of exceptions in Java code to produce views of the exception structure. We demonstrate how Jex can help a developer identify program points where exceptions are caught accidentally, where there is an opportunity to add finer-grained recovery code, and where error-handling policies are not being followed.

Superceded Versions

Martin P. Robillard and Gail C. Murphy. "Analyzing Exception Flow in JavaTM Programs", Technical Report TR-99-02. 15 pages.
[PDF], [gzipped PostScript]