Skip to main content

Code Smells Enabled by Artificial Intelligence: A Systematic Mapping

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11622))

Abstract

Code smells are an indicator of poor design in software systems. Artificial intelligence techniques have been applied in several ways to improve soft-ware quality in code smells detection i.e. (detection rules or standards using a combination of object-oriented metrics and Bayesian inference graphs). Literature in the field has identified artificial intelligence techniques and compare different artificial intelligence algorithms, which are used in the detection of code smells. However, to the best of our knowledge, there is not a systematic literature review devoted to study in deep the interaction of these fields. In this paper, authors conduct a systematic mapping to get to know how artificial intelligence inter-acts with code smells. Results show the deep connection of Artificial Intelligence with code smells in a solid way, as well as, providing potential challenges and opportunities for future research.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Kessentini, W., Kessentini, M., Sahraoui, H., Bechikh, S., Ouni, A.: A cooperative parallel search-based software engineering approach for code-smells detection. IEEE Trans. Softw. Eng. 40, 841–861 (2014). https://doi.org/10.1109/TSE.2014.2331057

    Article  Google Scholar 

  2. Sjøberg, D.I.K., Yamashita, A., Anda, B.C.D., Mockus, A., Dybå, T.: Quantifying the effect of code smells on maintenance effort. IEEE Trans. Softw. Eng. 39, 1144–1156 (2013). https://doi.org/10.1109/TSE.2012.89

    Article  Google Scholar 

  3. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (2018)

    MATH  Google Scholar 

  4. Hozano, M., Garcia, A., Fonseca, B., Costa, E.: Are you smelling it? Investigating how similar developers detect code smells. Inf. Softw. Technol. 93, 130–146 (2018). https://doi.org/10.1016/j.infsof.2017.09.002

    Article  Google Scholar 

  5. Palomba, F., Bavota, G., Penta, M.D., Fasano, F., Oliveto, R., Lucia, A.D.: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empir. Softw. Eng. 23, 1188–1221 (2018). https://doi.org/10.1007/s10664-017-9535-z

    Article  Google Scholar 

  6. Walter, B., Fontana, F.A., Ferme, V.: Code smells and their collocations: a large-scale experiment on open-source systems. J. Syst. Softw. 144, 1–21 (2018). https://doi.org/10.1016/j.jss.2018.05.057

    Article  Google Scholar 

  7. Liu, H., Guo, X., Shao, W.: Monitor-based instant software refactoring. IEEE Trans. Softw. Eng. 39, 1112–1126 (2013). https://doi.org/10.1109/TSE.2013.4

    Article  Google Scholar 

  8. Garcia-Crespo, A., Colomo-Palacios, R., Gomez-Berbis, J.M., Mencke, M.: BMR: benchmarking metrics recommender for personnel issues in software development projects. Int. J. Comput. Intell. Syst. 2, 257–267 (2009)

    Google Scholar 

  9. Colomo-Palacios, R., Fernandes, E., Soto-Acosta, P., Larrucea, X.: A case analysis of enabling continuous software deployment through knowledge management. Int. J. Inf. Manag. 40, 186–189 (2018). https://doi.org/10.1016/j.ijinfomgt.2017.11.005

    Article  Google Scholar 

  10. Palomba, F., Bavota, G., Di Penta, M., Fasano, F., Oliveto, R., De Lucia, A.: A large-scale empirical study on the lifecycle of code smell co-occurrences. Inf. Softw. Technol. 99, 1–10 (2018). https://doi.org/10.1016/j.infsof.2018.02.004

    Article  Google Scholar 

  11. Azeem, M.I., Palomba, F., Shi, L., Wang, Q.: Machine learning techniques for code smell detection: a systematic literature review and meta-analysis. Inf. Softw. Technol. 108, 115–138 (2019). https://doi.org/10.1016/j.infsof.2018.12.009

    Article  Google Scholar 

  12. Fernandes, E., Oliveira, J., Vale, G., Paiva, T., Figueiredo, E.: A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering - EASE 2016, Limerick, Ireland, pp. 1–12. ACM Press (2016). https://doi.org/10.1145/2915970.2915984

  13. Arcelli Fontana, F., Mäntylä, M.V., Zanoni, M., Marino, A.: Comparing and experimenting machine learning techniques for code smell detection. Empir. Softw. Eng. 21, 1143–1191 (2016). https://doi.org/10.1007/s10664-015-9378-4

    Article  Google Scholar 

  14. Kreimer, J.: Adaptive detection of design flaws. Electron. Notes Theor. Comput. Sci. 141, 117–136 (2005). https://doi.org/10.1016/j.entcs.2005.02.059

    Article  Google Scholar 

  15. Khomh, F., Vaucher, S., Guéhéneuc, Y., Sahraoui, H.: A Bayesian approach for the detection of code and design smells. In: 2009 Ninth International Conference on Quality Software, pp. 305–314 (2009). https://doi.org/10.1109/QSIC.2009.47

  16. Khomh, F., Vaucher, S., Guéhéneuc, Y.-G., Sahraoui, H.: BDTEX: a GQM-based Bayesian approach for the detection of antipatterns. J. Syst. Softw. 84, 559–572 (2011). https://doi.org/10.1016/j.jss.2010.11.921

    Article  Google Scholar 

  17. Yang, J., Hotta, K., Higo, Y., Igaki, H., Kusumoto, S.: Filtering clones for individual user based on machine learning analysis. In: 2012 6th International Workshop on Software Clones (IWSC), Zurich, Switzerland, pp. 76–77. IEEE (2012). https://doi.org/10.1109/IWSC.2012.6227872

  18. Petersen, K., Vakkalanka, S., Kuzniarz, L.: Guidelines for conducting systematic mapping studies in software engineering: an update. Inf. Softw. Technol. 64, 1–18 (2015). https://doi.org/10.1016/j.infsof.2015.03.007

    Article  Google Scholar 

  19. da Mota Silveira Neto, P.A., do Carmo Machado, I., McGregor, J.D., de Almeida, E.S., de Lemos Meira, S.R.: A systematic mapping study of software product lines testing. Inf. Softw. Technol. 53, 407–423 (2011). https://doi.org/10.1016/j.infsof.2010.12.003

    Article  Google Scholar 

  20. Czibula, G., Marian, Z., Czibula, I.G.: Detecting software design defects using relational association rule mining. Knowl. Inf. Syst. 42, 545–577 (2015). https://doi.org/10.1007/s10115-013-0721-z

    Article  Google Scholar 

  21. Sabir, F., Palma, F., Rasool, G., Guéhéneuc, Y.-G., Moha, N.: A systematic literature review on the detection of smells and their evolution in object-oriented and service-oriented systems. Softw. Pract. Exp. 49, 3–39 (2019). https://doi.org/10.1002/spe.2639

    Article  Google Scholar 

  22. Kaur, A., Jain, S., Goel, S.: A support vector machine based approach for code smell detection. In: 2017 International Conference on Machine Learning and Data Science (MLDS), pp. 9–14 (2017). https://doi.org/10.1109/MLDS.2017.8

  23. Liu, H., Xu, Z., Zou, Y.: Deep learning based feature envy detection. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering - ASE 2018, Montpellier, France, pp. 385–396. ACM Press (2018). https://doi.org/10.1145/3238147.3238166

  24. Nucci, D.D., Palomba, F., Tamburri, D.A., Serebrenik, A., Lucia, A.D.: Detecting code smells using machine learning techniques: are we there yet? In: 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 612–621 (2018). https://doi.org/10.1109/SANER.2018.8330266

  25. Alkharabsheh, K., Crespo, Y., Manso, E., Taboada, J.A.: Software Design Smell Detection: a systematic mapping study. Softw. Qual. J. (2018). https://doi.org/10.1007/s11219-018-9424-8

  26. Bán, D., Ferenc, R.: Recognizing antipatterns and analyzing their effects on software maintainability. In: Murgante, B., et al. (eds.) ICCSA 2014. LNCS, vol. 8583, pp. 337–352. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09156-3_25

    Chapter  Google Scholar 

  27. Karađuzović-Hadžiabdić, K., Spahić, R.: Comparison of machine learning methods for code smell detection using reduced features. In: 2018 3rd International Conference on Computer Science and Engineering (UBMK), pp. 670–672 (2018). https://doi.org/10.1109/UBMK.2018.8566561

  28. Nuñez-Varela, A.S., Pérez-Gonzalez, H.G., Martínez-Perez, F.E., Soubervielle-Montalvo, C.: Source code metrics: a systematic mapping study. J. Syst. Softw. 128, 164–197 (2017). https://doi.org/10.1016/j.jss.2017.03.044

    Article  Google Scholar 

  29. Bafandeh Mayvan, B., Rasoolzadegan, A., Ghavidel Yazdi, Z.: The state of the art on design patterns: a systematic mapping of the literature. J. Syst. Softw. 125, 93–118 (2017). https://doi.org/10.1016/j.jss.2016.11.030

    Article  Google Scholar 

  30. Colomo-Palacios, R., Fernandes, E., Sabbagh, M., de Amescua Seco, A.: Human and intellectual capital management in the cloud: software vendor perspective. J. Univers. Comput. Sci. 18, 1544–1557 (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ricardo Colomo-Palacios .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zaidi, M.A., Colomo-Palacios, R. (2019). Code Smells Enabled by Artificial Intelligence: A Systematic Mapping. In: Misra, S., et al. Computational Science and Its Applications – ICCSA 2019. ICCSA 2019. Lecture Notes in Computer Science(), vol 11622. Springer, Cham. https://doi.org/10.1007/978-3-030-24305-0_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-24305-0_31

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-24304-3

  • Online ISBN: 978-3-030-24305-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics