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

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.

Authors

Publication Details

Published
2024-09-30
DOI
https://doi.org/10.5753/sbes.2024.3573
Primary Topic
Advanced Malware Detection Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

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

Leopoldo Teixeira, Robson Ytallo Silva de Oliveira, T. E. L. Alves, Baldoíno Fonseca et al.
Advanced Malware Detection Techniques
article

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

Leopoldo Teixeira, Robson Ytallo Silva de Oliveira, T. E. L. Alves, Baldoíno Fonseca, Jairo Souza
article en

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.

Openalex Percentile: Top 80%
Advanced Malware Detection Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Exception Miner: Multi-language Static Analysis Tool to Identify Exception Handling Anti-Patterns — Leopoldo Teixeira, Robson Ytallo Silva de Oliveira, et al. · (2024) | TGRS Research Map | TGRS