Work

Exception Miner: Multi-language Static Analysis Tool to Identify Exception Handling Anti-Patterns

Year: 2024
Type: conference-paper
Abstract: Exception handling is a technique used to manage errors or exceptional events that occur during program execution and disrupt the standard flow of the program. Although this method is beneficial, developers often neglect proper exception handling. Misuse of exception handling mechanisms can lead to exception handling anti-patterns in the source code, negatively impacting software quality. Additionally, many projects nowadays are built using multiple languages, which increases the complexity of identifying these anti-patterns and the workload involved in configuring various linters or detection tools. To address this gap, we developed a tool that identifies exception handling anti-patterns in three popular languages: Java, TypeScript, and Python. To evaluate our tool, we conducted an empirical study on 11 multi-language projects to investigate the occurrence of exception handling patterns across different languages. Our results demonstrated that the occurrence of exception handling anti-patterns is similar between Python and TypeScript. However, in Java, exception handling anti-patterns occur up to four times more frequently in the analyzed projects. The tool is available on GitHub1, along with a video2 demonstrating its use.
Language: English
Open Access status: gold
OpenAlex ID: W4403585018
FWCI: 1.153
Cites: 8
Cited by: 3
Related to: 10