Session 3J: Exception Handling in Java Programs

Session Number

Session 3J: 2nd Presentation

Advisor(s)

Shan Lu, University of Chicago

Location

Room B101

Start Date

28-4-2017 1:15 PM

End Date

28-4-2017 2:30 PM

Abstract

This project looked at the exceptions used in Java programs, specifically throws and catches. When something unexpected occurs during program execution, the throw block triggers an exception and the catch block responds to the exception in a variety of ways, such as long chain recovery attempts or printing an error message. Exception handling is widely used and crucial to all Java programs because they help keep server applications, web applications, and desktop applications running smoothly for all users. In my project, I wrote Python scripts to analyze code repositories of widely used open-source Java projects, trying to obtain a detailed understanding of how exception handlings are conducted in practice. I first counted and compared the density and size of exception handling code across different components and different versions within one software project, and then across different projects. After that, I will try to categorize exception handling code based on their structural and functional patterns -- different exceptions can be thrown and caught based upon the purpose/nature of the exception. This research will provide valuable information regarding the exception handling in Java programs and provide guidance to future research on improving software reliability.

Comments

Additional team members: Haopeng Liu

Share

COinS
 
Apr 28th, 1:15 PM Apr 28th, 2:30 PM

Session 3J: Exception Handling in Java Programs

Room B101

This project looked at the exceptions used in Java programs, specifically throws and catches. When something unexpected occurs during program execution, the throw block triggers an exception and the catch block responds to the exception in a variety of ways, such as long chain recovery attempts or printing an error message. Exception handling is widely used and crucial to all Java programs because they help keep server applications, web applications, and desktop applications running smoothly for all users. In my project, I wrote Python scripts to analyze code repositories of widely used open-source Java projects, trying to obtain a detailed understanding of how exception handlings are conducted in practice. I first counted and compared the density and size of exception handling code across different components and different versions within one software project, and then across different projects. After that, I will try to categorize exception handling code based on their structural and functional patterns -- different exceptions can be thrown and caught based upon the purpose/nature of the exception. This research will provide valuable information regarding the exception handling in Java programs and provide guidance to future research on improving software reliability.