The DOI matches its Crossref record; the references it cites are not checked yet.
Quantifying the Effect of Code Smells on Maintenance Effort
Abstract
Context: Code smells are assumed to indicate bad design that leads to less maintainable code. However, this assumption has not been investigated in controlled studies with professional software developers. Aim: This paper investigates the relationship between code smells and maintenance effort. Method: Six developers were hired to perform three maintenance tasks each on four functionally equivalent Java systems originally implemented by different companies. Each developer spent three to four weeks. In total, they modified 298 Java files in the four systems. An Eclipse IDE plug-in measured the exact amount of time a developer spent maintaining each file. Regression analysis was used to explain the effort using file properties, including the number of smells. Result: None of the 12 investigated smells was significantly associated with increased effort after we adjusted for file size and the number of changes; Refused Bequest was significantly associated with decreased effort. File size and the number of changes explained almost all of the modeled variation in effort. Conclusion: The effects of the 12 smells on maintenance effort were limited. To reduce maintenance effort, a focus on reducing code size and the work practices that limit the number of changes may be more beneficial than refactoring code smells.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Previous work highlights code size as a key maintainability challenge (Sjoberg et al. 2013).
“While we find no clear patterns supporting this in the data, previous work highlights code size as a (or the) key maintainability challenge (Sjoberg et al. 2013).”
From Echoes of AI: Investigating the downstream effects of AI assistants on software maintainability (2026) · cites this paper as Sjoberg et al. 2013
Code volume is a primary driver of complexity.
“Code volume is a primary driver of complexity (Sjoberg et al. 2013)”
From Echoes of AI: Investigating the downstream effects of AI assistants on software maintainability (2026) · cites this paper as Sjoberg et al. 2013
Citations
The citation lists haven’t been fetched yet
References 45 · Cited by 316
Research works printed but not linked: 42
- 10.1109/CSMR.2011.24 · DOI
- 10.1109/ICSM.2007.4362633 · DOI
- 10.1109/TSE.2008.89 · DOI
- 10.1016/S0164-1212(00)00003-0 · DOI
- 10.1109/TSE.2004.43 · DOI
- 10.1027/1614-0001/a000052 · DOI
- 10.1109/ESEM.2011.39 · DOI
- 2008, Borland Together
- 10.1109/QSIC.2010.58 · DOI
- 10.1016/S0164-1212(02)00054-7 · DOI
- 10.1016/S0164-1212(03)00240-1 · DOI
- 10.1145/2372251.2372256 · DOI
- 10.1109/32.895984 · DOI
- 10.1002/0471028959.sof201 · DOI
- 10.1109/32.935855 · DOI
- Fowler, 1999, Refactoring: Improving the Design of Existing Code
- 10.1109/TSE.2011.103 · DOI · Paper page
- 10.1109/ICSE.2009.5070547 · DOI
- 10.1016/j.infsof.2008.04.006 · DOI
- 10.1007/s10664-008-9076-6 · DOI
- 10.1145/1095430.1081737 · DOI
- 10.1016/j.jss.2009.06.041 · DOI
- Lanza, 2006, Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate and Improve the Design of Object-Oriented Systems
- 10.1145/1370114.1370133 · DOI
- 10.1016/j.jss.2006.10.018 · DOI
- 10.1109/ICSM.2008.4658071 · DOI
- 10.1109/icsm.2005.63 · DOI
- 10.1109/TSE.2004.1265817 · DOI
- 10.1109/ICSM.2000.883028 · DOI
- 10.1109/TSE.2009.50 · DOI
- 10.1109/METRIC.2002.1011328 · DOI
- 10.1109/ESEM.2007.13 · DOI
- 10.1109/ESEM.2009.5314231 · DOI
- 10.1109/ICSM.2010.5609564 · DOI
- 10.1109/MSR.2010.5463343 · DOI
- 10.1109/ESEM.2009.5314233 · DOI
- Riel, 1996, Object-Oriented Design Heuristics
- 10.1109/METRIC.1997.637174 · DOI
- 10.1145/2372251.2372269 · DOI
- 10.1109/FOSE.2007.30 · DOI
- 10.1109/ICSM.2012.6405287 · DOI
- 10.1002/smr.521 · DOI
Metadata
- Authors
- Sjoberg, D. I. K., Yamashita, A., Anda, B. C. D., Mockus, A., & Dyba, T.
- Affiliations
- University of Oslo (NO)
- Avaya (United States) (US)
- Venue
- IEEE Transactions on Software Engineering
- Published
- 2013-08
- Volume
- 39
- Issue
- 8
- Pages
- 1144-1156
- ISSN
- 0098-5589 (ISSN-L)
- 1939-3520
- OpenAlex
- W2014418158
- Cited by
- 316
- References
- 45
- Citations by year
- 2026: 7 · 2025: 20 · 2024: 17 · 2023: 19 · 2022: 21 · 2021: 25 · 2020: 30 · 2019: 25 · 2018: 38 · 2017: 40 · 2016: 28 · 2015: 29 · 2014: 12 · 2013: 2
- FWCI
- 69.13
- Type
- journal article
- Language
- en
- Open access
- closed
- Locations
- IEEE Transactions on Software Engineering (publishedVersion)
- Funders
- Norges Forskningsråd
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Software › Advanced Software Engineering Methodologies
- Keywords
- code smells, maintenance effort, software maintainability, Java, file size, refactoring, Eclipse IDE
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review