AUTOMATIC CODE SMELL DETECTION BASED ON INFORMATION EXTRACTED FROM THE TEXTUAL CONTENT OF THE CODE
DOI:
https://doi.org/10.24867/11BE01GrujicKeywords:
Natural language process, embedding, bert, word2vec, code smellsAbstract
Researches in the field of the automatic detection of code smells already exist. However, these researches generally take into account only a few types of code smells, and their detection is highly dependent on the programming language within which they are detected. In addition, most papers rely on structural metrics, and therefore it is necessary to define various thresholds in order to detect the code smells. Therefore, the results may vary on the projects over which it is detected for the reason that the threshold of these metrics must be defined separately for each project. In this paper, code smells is detected exclusively by information obtained from textual content - code. If used alone in the application, there is no need to define thresholds for various metrics, because the processing is done over natural language for each project separately.
References
[2] Martin, R.C., 2002. Agile software development: principles, patterns, and practices. Prentice Hall.
[3] Fernandes, E., Oliveira, J., Vale, G., Paiva, T. and Figueiredo, E., 2016, June. A review-based comparative study of bad smell detection tools. In Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering (p. 18). ACM.
[4] Alkharabsheh, K., Crespo, Y., Manso, E. and Taboada, J.A., 2019. Software Design Smell Detection: a systematic mapping study. Software Quality Journal, 27(3), pp.1069-1148.
[5] Dietz, L.W., Manner, J., Harrer, S. and Lenhard, J., 2018. Teaching clean code. In Proceedings of the 1st Workshop on Innovative Software Engineering Education.
[6] Fowler, M., 2018. Refactoring: improving the design of existing code. Addison-Wesley Professional.
[7] Azeem, M.I., Palomba, F., Shi, L. and Wang, Q., 2019. Machine learning techniques for code smell detection: A systematic literature review and meta-analysis. Information and Software Technology.
[8] Di Nucci, D., Palomba, F., Tamburri, D.A., Serebrenik, A. and De Lucia, A., 2018, March. 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). IEEE.
[9] Palomba, F., Panichella, A., De Lucia, A., Oliveto, R. and Zaidman, A., 2016, May. A textual-based technique for smell detection. In 2016 IEEE 24th international conference on program comprehension (ICPC) (pp. 1-10). IEEE.
[10] Palomba, F., Bavota, G., Di Penta, M., Fasano, F., Oliveto, R. and De Lucia, A., 2018. On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empirical Software Engineering, 23(3), pp.1188-1221
[11] Moha, N., Gueheneuc, Y.-G., Duchien, L., & Le Meur, A.-F. (2010). DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transactions on Software Engineering, 36(1), 20–36. https://doi.org/10.1109/tse.2009.50