Open Source
The Influence of Code Smells in Efferent Neighbors on Class Stability
arXiv cs.SE0 views
arXiv:2602.12950v3 Announce Type: replace Abstract: Understanding what drives code instability is essential for effective software maintenance, as unstable classes require larger or more frequent edits and increase the risk of unintended side effects. Although code smells are widely believed to harm maintainability, most prior stability studies examine only the smells within the class being modified. In practice, however, a class can change because its efferent neighbors (i.e., the classes it depends on) are modified due to ripple effects that propagate along static dependencies, even if the class itself is clean. Such ripple effects may be more severe when efferent neighbors exhibit code smells. Therefore, this study investigates whether code smells in a class's efferent neighbors affect its stability. We mined one year of commit history from 152 top-starred GitHub Java projects, detected code smells and static dependencies, and modeled their associations with class stability. Our results challenge the practice of examining code smells only within the class being maintained by showing that this provides an incomplete view of stability risk. Specifically, considering code smells in efferent neighbors reveals stability risks that are not observed when examining code smells in the class itself. Moreover, considering smells in both the class and its efferent neighbors, as well as their relationships across dependencies, reveals further stability risks that are not observed when smells at these two locations are analyzed separately. Consequently, these findings suggest that code smell analysis for class maintenance should extend beyond the class being maintained to the classes on which it depends.
Source:https://arxiv.org/abs/2602.12950PreviousAutomated Multi-Line Bug Repair Using Model Checker Aided LLMs: A Case Study on RISC-V ProcessorsNextdaVinci-Env: Open SWE Environment Synthesis at Scale
Related posts
A fresh wave of cyberattacks has hit Europe’s supermarket refrigerators, destroying food across countries
0TechCrunch

Onboarding Instrumentation: What to Actually Log Before You Redesign the Flow
0dev.to UX
Iceberg vs Parquet: do you need a table format?
0dev.to Data

Open Source Didn't Ban AI Code. 83% of Its AI Policies Allow It, With One Catch
0dev.to Git
Orbit: A High-Performance Terminal Workspace & System Monitor in Rust with WASM Plugins
0dev.to Rust

Forecasting the U.S. Senate with Prediction Markets and Monte Carlo Simulations
0dev.to AI