Paired Code Smells and Test Smells: A Fine-Grained Longitudinal Empirical Study
Ziwen Cai
摘要
As software systems grow in complexity, ensuring maintainability is essential, but often hindered by various quality issues. Among them, code smells and test smells are widely recognized indicators of technical debt that degrade system quality. While production code and test suites are intrinsically coupled and evolve together, existing research predominantly studies code smells and test smells in isolation, ignoring their underlying connection over time. To bridge this gap, this paper presents a fine-grained longitudinal study on the co-evolutionary dynamics of "paired smells", which refer to cases where code and test smells exist concurrently in linked production and test code. By analyzing 128,417 commits across 19 long-lived open-source Java repositories, we investigate the statistical associations, survival lifespans, and removal motivations of these paired flaws. As a result, we identify 30 statistically significant rules where specific test smells imply the presence of underlying production code smells and our survival analysis reveals that in most repositories, paired smells have relatively shorter lifespans than unpaired ones. To explain this phenomenon, our manual inspection reveals that paired smells often signal deeper structural issues, prompting explicit risk-driven refactoring. Finally, we discuss the implications of these results for code quality analysis and continuous integration tools, suggesting that they should link related smell findings between production and test code and guide synchronized refactoring.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
相关 Paper
- What's DAT Smell? Untangling and Weaving the Disjoint Assertion Tangle Test SmellMonil Narang, Hang Du, James A. JonesASE 2025
- How disabled tests manifest in test maintainability challenges?Dong Jae Kim, Bo Yang, Jinqiu Yang, Tse-Hsun (Peter) ChenFSE 2021 · 被引用 9 次
- Causal or Correlational? A Cohort Study on the Effects of Code Smells on Class Change- and Fault-PronenessSabato Nocera, Sira Vegas, Giuseppe Scanniello, Massimiliano Di Penta 等ICSE 2026 · 被引用 1 次
- Evaluating Unit Testing Practices in R PackagesMelina C. VidoniICSE 2021 · 被引用 14 次
- The Design Smells Breaking the Boundary between Android Variants and AOSPWuxia Jin, Jiaowei Shang, Jianguo Zheng, Mengjie Sun 等ICSE 2025
