[Publications] [Software Engineering Research Group] [Department of Computer Science] [University of British Columbia]

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 of this paper


URL:  http://www.cs.ubc.ca/labs/se/papers/1999/esecfse99-aef.html
File:  /pub/www/cs.ubc.ca/docs/labs/se/papers/1999/esecfse99-aef.html