Are code smell detection tools suitable for detecting architecture degradation?
Abstract
Context: Several studies suggest that there is a relation between code smells and architecture degradation. They claim that classes, which have degraded architecture-wise, can be detected on the basis of code smells, at least if these are manually identified in the source code.
Integrity signals
Registry
Cites
Statistics
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?
Some code smell detection tools employ code smell metrics relevant to identification of architectural smells.
“Some code smell detection tools also employ code smell metrics that are relevant to the identification of architectural smells [48, 58].”
From Software Architecture in Practice: Challenges and Opportunities (2023) · cites this paper as [48]
Several code smell detection techniques look at correlation between code smells and architectural smells for locating architecture problems.
“Several code smell detection techniques look at the correlation between code smells and architectural smells for locating architecture problems (e.g., [48]).”
From Software Architecture in Practice: Challenges and Opportunities (2023) · cites this paper as [48]
Cites
R: A Language and Environment for Statistical Computing
R Core Team (2000) · doi:10.32614/r.manuals · Cited by 355,706 · see citing works
Witten, I. H. (2008) · Cited by 9,115 · see citing works
Refactoring: Improving the Design of Existing Code
Fowler, M. (2002) · Lecture notes in computer science · doi:10.1007/3-540-45672-4_31 · Cited by 5,615 · see citing works
Refactoring improving the design of existing code
Saca, M. A. (2017) · IEEE Central America and Panama Convention (CONCAPAN) · doi:10.1109/concapan.2017.8278488 · Cited by 2,077 · see citing works
The Optimality of Naive Bayes.
Zhang, H. (2004) · Cited by 1,550 · see citing works
Medvidović, N., & Taylor, R. N. (2010) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1810295.1810435 · Cited by 907 · see citing works
Detection strategies: metrics-based rules for detecting design flaws
Marinescu, R. (2004) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2004.1357820 · Cited by 552 · see citing works
Research Design and Issues of Validity
Brewer, M. B., & Crano, W. D. (2014) · Cambridge University Press eBooks · doi:10.1017/cbo9780511996481.005 · Cited by 519 · see citing works
Witten, I. H., Frank, E., & Hall, M. A. (2011) · Elsevier eBooks · doi:10.1016/b978-0-12-374856-0.00001-8 · Cited by 423 · see citing works
Software reflexion models: bridging the gap between design and implementation
Murphy, G. C., Notkin, D. S., & Sullivan, K. (2001) · IEEE Transactions on Software Engineering · doi:10.1109/32.917525 · Cited by 400 · see citing works
Open-source machine learning: R meets Weka
Hornik, K., Buchta, C., & Zeileis, A. (2008) · Computational Statistics · doi:10.1007/s00180-008-0119-7 · Cited by 388 · see citing works
Proceedings. 26th International Conference on Software Engineering
(2004) · doi:10.1109/icse.2004 · Cited by 283 · see citing works
Automatic detection of bad smells in code: An experimental assessment.
Fontana, F. A., Braione, P., & Zanoni, M. (2012) · The Journal of Object Technology · doi:10.5381/jot.2012.11.2.a5 · Cited by 203 · see citing works
Controlling software architecture erosion: A survey
de Silva, L., & Balasubramaniam, D. (2012) · Journal of Systems and Software · doi:10.1016/j.jss.2011.07.036 · Cited by 184 · see citing works
On the Relevance of Code Anomalies for Identifying Architecture Degradation Symptoms
Macia, I., Arcoverde, R., Garcia, A., Chavez, C., & von Staa, A. (2012) · 2012 16th European Conference on Software Maintenance and Reengineering · doi:10.1109/csmr.2012.35 · Cited by 121 · see citing works
Macia, I., Garcia, J., Popescu, D., Garcia, A., Medvidovic, N., & von Staa, A. (2012) · Proceedings of the 11th annual international conference on Aspect-oriented Software Development · doi:10.1145/2162049.2162069 · Cited by 111 · see citing works
Taylor, R. N. (2009) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1595696.1595754 · Cited by 98 · see citing works
Combating architectural degeneration: a survey
Hochstein, L., & Lindvall, M. (2005) · Information and Software Technology · doi:10.1016/j.infsof.2004.11.005 · Cited by 94 · see citing works
OIZUMI, W. N., Garcia, A., Sousa, L., Cafeo, B., & Zhao, Y. (2016) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/2884781.2884868 · Cited by 86 · see citing works
How Do Open Source Communities Document Software Architecture: An Exploratory Survey
Ding, W., Liang, P., Tang, A., Vliet, H. V., & Shahin, M. (2014) · IEEE International Conference on Engineering of Complex Computer Systems (ICECCS) · doi:10.1109/iceccs.2014.26 · Cited by 56 · see citing works
Campbell, G., & Papapetrou, P. P. (2013) · CERN Document Server (European Organization for Nuclear Research) · Cited by 55 · see citing works
Improving software quality with static analysis
Foster, J. S., Hicks, M., & Pugh, W. (2007) · ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE) · doi:10.1145/1251535.1251549 · Cited by 21 · see citing works
Improving Bug Location Using Binary Class Relationships
Ali, N., Sabané, A., Guéhéneuc, Y., & Antoniol, G. (2012) · IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM) · doi:10.1109/scam.2012.26 · Cited by 20 · see citing works
JITTAC: a just-in-time tool for architectural consistency
Buckley, J., Mooney, S., Rosik, J., & Alí, N. (2013) · Arrow@dit (Dublin Institute of Technology) · Cited by 17 · see citing works
Evidence in architecture degradation and consistency checking research
Herold, S., Blom, M., & Buckley, J. (2016) · doi:10.1145/2993412.3003396 · Cited by 13 · see citing works
Self-citationModularity Index Metrics for Java-Based Open Source Software Projects
Emanuel, A. W. R., & Wardoyo, R. (2011) · International Journal of Advanced Computer Science and Applications · doi:10.14569/ijacsa.2011.021109 · Cited by 11 · see citing works
Are comprehensive quality models necessary for evaluating software quality?
Lochmann, K., Ramadani, J., & Wagner, S. (2013) · doi:10.1145/2499393.2499404 · Cited by 9 · see citing works
Open Source Software: How Can Design Metrics Facilitate Architecture Recovery?Preprint
Constantinou, E., Kakarontzas, G., & Stamelos, I. G. (2011) · arXiv (Cornell University) · doi:10.48550/arxiv.1110.1992 · Cited by 6 · see citing works
Flagged first, then by citations
1 of the 29 references couldn’t be matched to a known paper.
Cited by
Sorted by citations
Architecture Anti-Patterns: Automatically Detectable Violations of Design Principles
Mo, R., Cai, Y., Kazman, R., Xiao, L., & Feng, Q. (2019) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2019.2910856 · Cited by 71 · see citing works
A systematic mapping study on architectural smells detection
Mumtaz, H., Singh, P., & Blincoe, K. (2021) · Journal of Systems and Software · doi:10.1016/j.jss.2020.110885 · Cited by 44 · see citing works
Exploring the suitability of source code metrics for indicating architectural inconsistencies
Lenhard, J., Blom, M., & Herold, S. (2018) · Software Quality Journal · doi:10.1007/s11219-018-9404-z · Cited by 30 · see citing works
Self-citationSoftware Architecture in Practice: Challenges and Opportunities
Wan, Z., Zhang, Y., Xia, X., Jiang, Y., & Lo, D. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616367 · Cited by 30 · see citing works
“Conversely, developers are suggested to be actively involved (P3f), by providing explanations or rationale behind implementation decisions that violate the criteria for metrics as specified in monitoring tools.”
BackgroundTechnical debt resulting from architectural degradation and code smells
Das, D., Maruf, A. A., Islam, R., Lambaria, N., Kim, S., Abdelfattah, A. S., Cerny, T., Frajták, K., Bureš, M., & Tisnovsky, P. (2021) · ACM SIGAPP Applied Computing Review · doi:10.1145/3512753.3512755 · Cited by 18 · see citing works
Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects
Li, R., Soliman, M., Liang, P., & Avgeriou, P. (2022) · IEEE International Conference on Software Architecture (ICSA) · doi:10.1109/icsa53651.2022.00011 · Cited by 17 · see citing works
Architectural Degradation: Definition, Motivations, Measurement Andremediation ApproachesPreprint
Ahmed, N., Su, R., Esposito, M., Janes, A., Lenarduzzi, V., & Taibi, D. (2025) · SSRN Electronic Journal · doi:10.2139/ssrn.5370705 · Cited by 2 · see citing works
An Empirical Analysis of Approach‐Based Metrics Model for Architectural Erosion Detection
Baabad, A., Zulzalil, H. B., Hassan, S., & Baharom, S. B. (2025) · Software Practice and Experience · doi:10.1002/spe.3431
- Authors
- Lenhard, J., Hassan, M. M., Blom, M., & Herold, S.
- Affiliations
- Karlstad University (SE)
- Qassim University (SA)
- Venue
- Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings
- Publisher
- ACM
- Published
- 2017-09-11
- Pages
- 138-144
- OpenAlex
- W2752075558
- Cited by
- 10
- References
- 29
- Citations by year
- 2025: 2 · 2023: 2 · 2022: 1 · 2021: 1 · 2020: 2 · 2019: 1 · 2018: 1
- FWCI
- 0.84
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- European Conference on Software Architecture (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
- Physical Sciences › Computer Science › Software › Model-Driven Software Engineering Techniques
- Keywords
- code smells, software architecture, software quality, class design
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