AUTOMATSKA DETEKCIJA INDIKATORA LOŠE DIZAJNIRANOG KODA BAZIRANA NA INFORMACIJAMA EKSTRAHOVANIM IZ TEKSTUALNOG SADRŽAJA

  • Katarina-Glorija Grujić
Ključne reči: Obrada prirodnog jezika, embedding algoritmi, bert, word2vec, loše dizajniran kod

Apstrakt

Radovi koji se bave automatskom detekcijom loše dizajniranog koda (eng. Code smell) već postoje. Međutim, ti radovi uglavnom uzimaju u obzir samo par tipova loše dizajniranog koda i njihova detekcija je jako zavisi od programskog jezika u okviru kog se detektuju. Pored toga, većina radova se oslanja na strukturalne metrike i samim tim potrebno je definisati razne pragove (eng. threshold) kako bi se detektovao indikator loše dizajniranog koda. Samim tim, rezultati mogu varirati u odnosu na projekte nad kojima se detektuje iz razloga što za svaki projekat se mora posebno definisati prag tih metrika. U ovom radu, loše dizajniran kod se detektuje isključivo na onovu informacija dobijenih iz tekstualnog sadržaja - kod. Ukoliko se koristi sam kod aplikacije, nestaje potreba definisanja pragova za razne metrike, jer se obrada vrši nad prirodnim jezikom za svaki projekat posebno.

Reference

[1] Martin, R.C., 2009. Clean code: a handbook of agile software craftsmanship. Pearson Education.
[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
Objavljeno
2020-12-23
Sekcija
Elektrotehničko i računarsko inženjerstvo