An Event-Driven Tool for Context-Aware Code Smell Detection Using SmellDSL

📅 2026-05-19
📈 Citations: 0
Influential: 0
📄 PDF

career value

132K/year
🤖 AI Summary
This work addresses the high false-positive rates of traditional code smell detection tools, which often ignore development context and thus hinder effective refactoring. To overcome this limitation, the authors propose an event-driven detection approach that integrates contextual factors such as team composition, project phase, and geographical distribution. They introduce SmellDSL, a domain-specific language that unifies static code metrics with contextual rules, and implement a scalable architecture based on a service bus. The resulting system has been integrated into Eclipse and augmented with a mobile visualization interface, enabling precise identification of smell types, severity levels, and locations. This facilitates targeted refactoring by assigning appropriate developers, thereby significantly improving both detection accuracy and actionable insights for development teams.
📝 Abstract
Code smells signal violations of design principles that degrade the internal quality of evolving software systems. Although many tools detect such anomalies using static metrics, they often ignore the development context in which smells arise and are resolved. This limitation can lead to misleading warnings and weak support for refactoring decisions. To address this problem, we present SmellHunter, a context-aware tool that interprets scripts written in the SmellDSL domain-specific language to detect and contextualize code smells. SmellHunter integrates static code metrics with contextual information (such as team characteristics, project stage, and geographic metadata) to produce richer, more actionable analyses. The tool adopts an event-driven architecture in which a service bus orchestrates validation, interpretation, and persistence services through asynchronous events. This architecture enables scalable analysis while minimizing disruption to developers' workflows. SmellHunter is integrated into the Eclipse development environment via a dedicated plugin and provides aggregated insights via a mobile application, allowing developers to explore smell occurrences by type, severity, and location. By linking smell detection with contextual data and collaborative visualization, SmellHunter supports developers acting as smell hunters, helping teams identify recurring quality issues emerging from a particular location and assign refactoring tasks to developers with relevant expertise. We describe the architecture of SmellHunter, the interpretation process of SmellDSL scripts, and the integration of contextual data to support more informed refactoring decisions in modern software development environments.
Problem

Research questions and friction points this paper is trying to address.

code smells
context-aware detection
software quality
refactoring support
development context
Innovation

Methods, ideas, or system contributions that make the work stand out.

context-aware
event-driven architecture
SmellDSL
code smell detection
collaborative visualization
🔎 Similar Papers
No similar papers found.
M
Matheus dos Santos Viegas
Applied Computing Graduate Program, University of Vale do Rio dos Sinos (Unisinos), São Leopoldo, RS, Brazil
A
Adrian Gabriel Keller dos Santos
Applied Computing Graduate Program, University of Vale do Rio dos Sinos (Unisinos), São Leopoldo, RS, Brazil
K
Kleinner Farias
Applied Computing Graduate Program, University of Vale do Rio dos Sinos (Unisinos), São Leopoldo, RS, Brazil
R
Robson Keemps da Silva
Applied Computing Graduate Program, University of Vale do Rio dos Sinos (Unisinos), São Leopoldo, RS, Brazil