Cited by 316Software Engineering ResearchSoftware Engineering Techniques and PracticesAdvanced Software Engineering Methodologies

The DOI matches its Crossref record; the references it cites are not checked yet.

Quantifying the Effect of Code Smells on Maintenance Effort

Sjoberg, Dag I.K., Yamashita, Aiko, Anda, Bente C.D., Mockus, Audris, Dyba, Tore·2013·IEEE Transactions on Software Engineering

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

Crossref · 10.1109/tse.2012.89

Cites

Statistics

Recomputing p-values needs the paper’s full text.

Verification

Claims the paper makes

We couldn’t retrieve this paper’s full text, so its claims and self-check weren’t run. The registry and citation checks still apply.

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?

Citations

The citation lists haven’t been fetched yet

References 45 · Cited by 316

Research works printed but not linked: 42

  1. 10.1109/CSMR.2011.24 · DOI
  2. 10.1109/ICSM.2007.4362633 · DOI
  3. 10.1109/TSE.2008.89 · DOI
  4. 10.1016/S0164-1212(00)00003-0 · DOI
  5. 10.1109/TSE.2004.43 · DOI
  6. 10.1027/1614-0001/a000052 · DOI
  7. 10.1109/ESEM.2011.39 · DOI
  8. 2008, Borland Together
  9. 10.1109/QSIC.2010.58 · DOI
  10. 10.1016/S0164-1212(02)00054-7 · DOI
  11. 10.1016/S0164-1212(03)00240-1 · DOI
  12. 10.1145/2372251.2372256 · DOI
  13. 10.1109/32.895984 · DOI
  14. 10.1002/0471028959.sof201 · DOI
  15. 10.1109/32.935855 · DOI
  16. Fowler, 1999, Refactoring: Improving the Design of Existing Code
  17. 10.1109/TSE.2011.103 · DOI · Paper page
  18. 10.1109/ICSE.2009.5070547 · DOI
  19. 10.1016/j.infsof.2008.04.006 · DOI
  20. 10.1007/s10664-008-9076-6 · DOI
  21. 10.1145/1095430.1081737 · DOI
  22. 10.1016/j.jss.2009.06.041 · DOI
  23. Lanza, 2006, Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate and Improve the Design of Object-Oriented Systems
  24. 10.1145/1370114.1370133 · DOI
  25. 10.1016/j.jss.2006.10.018 · DOI
  26. 10.1109/ICSM.2008.4658071 · DOI
  27. 10.1109/icsm.2005.63 · DOI
  28. 10.1109/TSE.2004.1265817 · DOI
  29. 10.1109/ICSM.2000.883028 · DOI
  30. 10.1109/TSE.2009.50 · DOI
  31. 10.1109/METRIC.2002.1011328 · DOI
  32. 10.1109/ESEM.2007.13 · DOI
  33. 10.1109/ESEM.2009.5314231 · DOI
  34. 10.1109/ICSM.2010.5609564 · DOI
  35. 10.1109/MSR.2010.5463343 · DOI
  36. 10.1109/ESEM.2009.5314233 · DOI
  37. Riel, 1996, Object-Oriented Design Heuristics
  38. 10.1109/METRIC.1997.637174 · DOI
  39. 10.1145/2372251.2372269 · DOI
  40. 10.1109/FOSE.2007.30 · DOI
  41. 10.1109/ICSM.2012.6405287 · DOI
  42. 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