Machine Learning for Code Smell Detection and Resolution
-
DOI:
https://doi.org/10.67228/3142788X/IJMLPA-2020PII4X6LPublished 08-04-2020
Code Smell, Software Maintainability, Machine Learning, Refactoring, Software Quality, Automated Detection Issue
Section
ArticlesHow to Cite
[1]E. Johnson, “Machine Learning for Code Smell Detection and Resolution”, IJMLPA, vol. 3, no. 2, pp. 01–10, Aug. 2020, doi: 10.67228/3142788X/IJMLPA-2020PII4X6L.Abstract
Code smells are indicative of poor software design, maintainability issues, or potential defects, and their early detection is critical for high-quality software development. Traditional detection methods rely heavily on manual inspection or rule-based static analysis, which are often time-consuming, error-prone, and limited in adaptability. This paper explores the use of machine learning techniques for automated code smell detection and resolution. By leveraging code metrics, syntactic and semantic features, and historical refactoring data, ML models can identify patterns associated with common code smells and recommend targeted resolution strategies. The proposed approach is evaluated on open-source and industrial software projects, demonstrating improvements in detection accuracy, maintainability, and developer productivity. The study highlights the potential of intelligent, data-driven approaches to enhance software quality and support continuous code improvement.
References
[1] Fowler, M. (2018). Refactoring: Improving the Design of Existing Code. Addison-Wesley.
[2] Marinescu, R. (2004). Detection strategies: Metrics-based rules for detecting design flaws. ICSM, 350–359.
[3] Yamashita, A., & Moonen, L. (2013). Code smell detection: A systematic literature review. Software Quality Journal, 21(3), 1–36.
[4] Fontana, F. A., Braione, P., & Zanoni, M. (2012). Towards an effective code smell detection. ICSME, 436–445.
[5] Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., & Penta, M. (2014). Mining code smells: A large-scale study. MSR, 336–346.
[6] Hecht, D., et al. (2018). Machine learning for software quality prediction. IEEE Transactions on Software Engineering, 44(11), 1041–1059.
[7] Chen, T., & Jiang, Y. (2017). Deep learning for code smell detection. Journal of Systems and Software, 130, 48–63.
[8] Olbrich, S., et al. (2010). An empirical comparison of code smell detection techniques. MSR, 211–220.
[9] Fontana, F. A., et al. (2016). An empirical study on automatic code smell detection. Empirical Software Engineering, 21(5), 2213–2245.
[10] Hata, H., & Kamei, Y. (2019). Predicting code smells using deep learning. ICSE, 102–113.
[11] Liu, Y., et al. (2020). Code embedding techniques for software analytics. IEEE Access, 8, 142130–142144.
[12] Tsantalis, N., et al. (2018). Refactoring-aware code smell detection. Journal of Software: Evolution and Process, 30(5), e1953.
[13] Kessentini, M., et al. (2016). Automated code smell detection using ensemble learning. IEEE Transactions on Software Engineering, 42(6), 571–592.
[14] Palomba, F., et al. (2018). Improving code smell detection with deep learning and embeddings. Empirical Software Engineering, 23(5), 2485–2515.
Downloads
How to Cite
[1]E. Johnson, “Machine Learning for Code Smell Detection and Resolution”, IJMLPA, vol. 3, no. 2, pp. 01–10, Aug. 2020, doi: 10.67228/3142788X/IJMLPA-2020PII4X6L.