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.
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.
Comments
Additional team members: Haopeng Liu