A technique, that presents exception-handling using three views: the quantitative view, the flow view, and the contextual view.

Georgia Tech inventors have created a technique, which has been prototyped as an Eclipse program, that presents exception-handling using three views: the quantitative view, the flow view, and the contextual view.  A software developer’s program is analyzed to determine exception-handling information, and based on the findings produces a graphical-user interface. The quantitative view provides a high-level view that shows the throw-catch interactions, along with relative numbers of  these interactions, at the package level, the class level, and method level. The flow view, shown on the next page, has type-throw-catch interactions, illustrating information such as which exception types reach particular throw statements.  The contextual view, also shown on the next page, illustrates the packages, classes, and methods that contribute to that exception-handling construct for particular type-throw-catch interactions.

Solution Advantages
  • Novel approach for exception handling using three inter-connected views: quantitative, flow, and contextual
  • The program’s design was created with input from experienced Java developers who found the program effective for directing them to better practices for exception-handling constructs
  • Prototype developed in Eclipse for Java applications, and can be extended to object-oriented languages with similar exception handling
Potential Commercial Applications
  • Web developers- exception-handling constructs
Background and More Information

Understanding the complex mechanisms of exception handling in a large software system are keys to efficiently maintaining, testing, and debugging a system.  Existing exception handling tools mainly focus on the analysis of exception-handling constructs and provide only basic visualizations in the form of lists, trees, or flow graphs. The visualizations are at a low-level of abstraction, do not present a system-wide overview, and do not provide sufficient context.

Visualization of Exception Handling Constructs to Support Program Understanding