[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.
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 |