Evolution of Exceptions

Project Idea

Exceptions in Java provide a powerful mechanism for error handling. Developers can define their own project-specific exceptions or rely on predefined ones in the Java API.

In this project we would like to understand the evolution of exception definitions and usage throughout a project lifetime. How often do developers define custom exceptions? Do they introduce custom exceptions in the beginning or later in the project lifecycle? What are the actions associated with the caught custom exceptions? These are some of the questions we seek answers to.

Implementation Roadmap

  • Find some large and long-living projects.
  • Divide each project into revisions.
  • For each version of each project, extract the number of user-defined exceptions, the number of thrown exceptions by type, and the number of caught exceptions by type.
  • Analyze and visualize the results.


Haidar Osman and Andrei Chiș

Last changed by admin on 21 April 2009