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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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
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
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (2018)
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)