Skip to main content
Erschienen in: Empirical Software Engineering 3/2023

01.05.2023

Deep learning approaches for bad smell detection: a systematic literature review

verfasst von: Amal Alazba, Hamoud Aljamaan, Mohammad Alshayeb

Erschienen in: Empirical Software Engineering | Ausgabe 3/2023

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Context

Bad smells negatively impact software quality metrics such as understandability, reusability, and maintainability. Reduced costs and enhanced software quality can be achieved through accurate bad smell detection.

Objective

This review aims to summarize and synthesize the studies that used deep learning (DL) techniques for bad smell detection. Given the rapid growth of DL techniques, we believe that reviewing and analyzing the current body of knowledge would facilitate the development of new techniques and help researchers identify research gaps in this area.

Method

We followed a systematic approach to identify 67 studies on DL-based bad smell detection published until October 2021. We collected and analyzed quantitative and qualitative data to obtain our results.

Results

Code Clone was the most recurring smell. Supervised learning is the most adopted learning approach for DL-based bad smell detection. Convolutional neural network (CNN), Artificial neural network (ANN), Deep neural network (DNN), Long short-term memory (LSTM), Attention model, and recursive autoencoder (RAE) are the most popularly used DL models. DL models that efficiently detect bad smells, such as Tree-based CNN (TBCNN) and the Abstract syntax tree-based LSTM (AST-LSTM), tend to be specifically designed to encode features for bad smell detection.

Conclusion

Many factors can affect the detection performance of DL models. Although studies exist on DL-based bad smell detection, more works that use other DL models than those already studied are needed. In this SLR, we provide a summary of existing research and recommendations for further research directions on DL-based bad smell detection.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Literatur
Zurück zum Zitat Brown WH, Malveau RC, McCormick HWS, Mowbray TJ (1998) AntiPatterns: refactoring software, architectures, and projects in crisis (1st edn). John Wiley & Sons, Inc. Brown WH, Malveau RC, McCormick HWS, Mowbray TJ (1998) AntiPatterns: refactoring software, architectures, and projects in crisis (1st edn). John Wiley & Sons, Inc.
Zurück zum Zitat Fakhoury, S, Arnaoudova, V, Noiseux, C, Khomh, F, Antoniol, G (2018) Keep it simple: Is deep learning good for linguistic smell detection? 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), 602–611. https://doi.org/10.1109/SANER.2018.8330265 Fakhoury, S, Arnaoudova, V, Noiseux, C, Khomh, F, Antoniol, G (2018) Keep it simple: Is deep learning good for linguistic smell detection? 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), 602–611. https://​doi.​org/​10.​1109/​SANER.​2018.​8330265
Zurück zum Zitat Fang, C, Liu, Z, Shi, Y, Huang, J, Shi, Q (2020) Functional code clone detection with syntax and semantics fusion learning. Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, 516–527. https://doi.org/10.1145/3395363.3397362 Fang, C, Liu, Z, Shi, Y, Huang, J, Shi, Q (2020) Functional code clone detection with syntax and semantics fusion learning. Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, 516–527. https://​doi.​org/​10.​1145/​3395363.​3397362
Zurück zum Zitat Fowler M, Beck K, Brant J, Opdyke W, Roberts D, Gamma E (1999) Refactoring: improving the design of existing code (1 edn). Addison-Wesley Professional Fowler M, Beck K, Brant J, Opdyke W, Roberts D, Gamma E (1999) Refactoring: improving the design of existing code (1 edn). Addison-Wesley Professional
Zurück zum Zitat Goodfellow I, Bengio Y, Courville A (2016) Deep Learning. MIT PressMATH Goodfellow I, Bengio Y, Courville A (2016) Deep Learning. MIT PressMATH
Zurück zum Zitat Hadj-Kacem, M, Bouassida, N (2019a) Improving the Identification of Code Smells by Combining Structural and Semantic Information. In T. Gedeon, K. W. Wong, & M. Lee (Eds.), Neural Information Processing (pp. 296–304). Springer International Publishing. https://doi.org/10.1007/978-3-030-36808-1_32 Hadj-Kacem, M, Bouassida, N (2019a) Improving the Identification of Code Smells by Combining Structural and Semantic Information. In T. Gedeon, K. W. Wong, & M. Lee (Eds.), Neural Information Processing (pp. 296–304). Springer International Publishing. https://​doi.​org/​10.​1007/​978-3-030-36808-1_​32
Zurück zum Zitat Hamdy A, Tazy M (2020) Deep Hybrid Features for Code Smells Detection. J Theor Appl Inf Technol 98:2684–2696 Hamdy A, Tazy M (2020) Deep Hybrid Features for Code Smells Detection. J Theor Appl Inf Technol 98:2684–2696
Zurück zum Zitat Kitchenham B (2004) Procedures for performing systematic reviews. Keele, UK, Keele University, 33(2004), 1–26. Kitchenham B (2004) Procedures for performing systematic reviews. Keele, UK, Keele University, 33(2004), 1–26.
Zurück zum Zitat Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE 2007-001, Keele University and Durham University Joint Report. Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE 2007-001, Keele University and Durham University Joint Report.
Zurück zum Zitat Kotsiantis SB (2007) Supervised machine learning: a review of classification techniques. Informatica 31:249–268 Kotsiantis SB (2007) Supervised machine learning: a review of classification techniques. Informatica 31:249–268
Zurück zum Zitat Le QV, Ngiam J, Coates A, Lahiri A, Prochnow B, Ng AY (2011) On optimization methods for deep learning. In Proceedings of the 28th International Conference on International Conference on Machine Learning (ICML'11). Omnipress, Madison, WI, USA, pp 265–272 Le QV, Ngiam J, Coates A, Lahiri A, Prochnow B, Ng AY (2011) On optimization methods for deep learning. In Proceedings of the 28th International Conference on International Conference on Machine Learning (ICML'11). Omnipress, Madison, WI, USA, pp 265–272
Zurück zum Zitat Lewowski, T, Madeyski, L (2022) Code Smells Detection Using Artificial Intelligence Techniques: A Business-Driven Systematic Review. In N. Kryvinska & A. Poniszewska-Marańda (Eds.), Developments in Information & Knowledge Management for Business Applications: Volume 3 (pp. 285–319). Springer International Publishing. https://doi.org/10.1007/978-3-030-77916-0_12 Lewowski, T, Madeyski, L (2022) Code Smells Detection Using Artificial Intelligence Techniques: A Business-Driven Systematic Review. In N. Kryvinska & A. Poniszewska-Marańda (Eds.), Developments in Information & Knowledge Management for Business Applications: Volume 3 (pp. 285–319). Springer International Publishing. https://​doi.​org/​10.​1007/​978-3-030-77916-0_​12
Zurück zum Zitat Ma Y, He H (eds) (2013) Imbalanced learning: foundations, algorithms, and applications (1st edn). Wiley-IEEE Press. Ma Y, He H (eds) (2013) Imbalanced learning: foundations, algorithms, and applications (1st edn). Wiley-IEEE Press.
Zurück zum Zitat Marinescu C, Marinescu R, Mihancea PF, Ratiu D, Wettel R (2005) Iplasma: an integrated platform for quality assessment of object-oriented design. ICSM, pp 77–80 Marinescu C, Marinescu R, Mihancea PF, Ratiu D, Wettel R (2005) Iplasma: an integrated platform for quality assessment of object-oriented design. ICSM, pp 77–80
Zurück zum Zitat Nafi, KW, Kar, TS, Roy, B, Roy, CK, Schneider, KA (2019) CLCDSA: Cross Language Code Clone Detection using Syntactical Features and API Documentation. 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), 1026–1037. https://doi.org/10.1109/ASE.2019.00099 Nafi, KW, Kar, TS, Roy, B, Roy, CK, Schneider, KA (2019) CLCDSA: Cross Language Code Clone Detection using Syntactical Features and API Documentation. 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), 1026–1037. https://​doi.​org/​10.​1109/​ASE.​2019.​00099
Zurück zum Zitat Palomba, F, Di Nucci, D, Tufano, M, Bavota, G, Oliveto, R, Poshyvanyk, D, De Lucia, A (2015) Landfill: An Open Dataset of Code Smells with Public Evaluation. 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, 482–485. https://doi.org/10.1109/MSR.2015.69 Palomba, F, Di Nucci, D, Tufano, M, Bavota, G, Oliveto, R, Poshyvanyk, D, De Lucia, A (2015) Landfill: An Open Dataset of Code Smells with Public Evaluation. 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, 482–485. https://​doi.​org/​10.​1109/​MSR.​2015.​69
Zurück zum Zitat Rasmussen CE, Ghahramani Z (2001) Occam’s Razor. In Advances in Neural Information Processing Systems 13:294–300 Rasmussen CE, Ghahramani Z (2001) Occam’s Razor. In Advances in Neural Information Processing Systems 13:294–300
Zurück zum Zitat Saini, V, Farmahinifarahani, F, Lu, Y, Baldi, P, Lopes, CV (2018) Oreo: Detection of clones in the twilight zone. Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 354–365. https://doi.org/10.1145/3236024.3236026 Saini, V, Farmahinifarahani, F, Lu, Y, Baldi, P, Lopes, CV (2018) Oreo: Detection of clones in the twilight zone. Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 354–365. https://​doi.​org/​10.​1145/​3236024.​3236026
Zurück zum Zitat Saini, V, Farmahinifarahani, F, Lu, Y, Yang, D, Martins, P, Sajnani, H, Baldi, P, Lopes, CV (2019) Towards Automating Precision Studies of Clone Detectors. 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), 49–59. https://doi.org/10.1109/ICSE.2019.00023 Saini, V, Farmahinifarahani, F, Lu, Y, Yang, D, Martins, P, Sajnani, H, Baldi, P, Lopes, CV (2019) Towards Automating Precision Studies of Clone Detectors. 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), 49–59. https://​doi.​org/​10.​1109/​ICSE.​2019.​00023
Zurück zum Zitat Tufano, M, Watson, C, Bavota, G, Di Penta, M, White, M, Poshyvanyk, D (2018) Deep learning similarities from different representations of source code. Proceedings of the 15th International Conference on Mining Software Repositories, 542–553. https://doi.org/10.1145/3196398.3196431 Tufano, M, Watson, C, Bavota, G, Di Penta, M, White, M, Poshyvanyk, D (2018) Deep learning similarities from different representations of source code. Proceedings of the 15th International Conference on Mining Software Repositories, 542–553. https://​doi.​org/​10.​1145/​3196398.​3196431
Zurück zum Zitat Wang, C, Gao, J, Jiang, Y, Xing, Z, Zhang, H, Yin, W, Gu, M, Sun, J (2019) Go-clone: Graph-embedding based clone detector for Golang. Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, 374–377. https://doi.org/10.1145/3293882.3338996 Wang, C, Gao, J, Jiang, Y, Xing, Z, Zhang, H, Yin, W, Gu, M, Sun, J (2019) Go-clone: Graph-embedding based clone detector for Golang. Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, 374–377. https://​doi.​org/​10.​1145/​3293882.​3338996
Zurück zum Zitat Wei, H, Li, M (2017) Supervised Deep Features for Software Functional Clone Detection by Exploiting Lexical and Syntactical Information in Source Code. Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, 3034–3040. https://doi.org/10.24963/ijcai.2017/423 Wei, H, Li, M (2017) Supervised Deep Features for Software Functional Clone Detection by Exploiting Lexical and Syntactical Information in Source Code. Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, 3034–3040. https://​doi.​org/​10.​24963/​ijcai.​2017/​423
Zurück zum Zitat Wu, Y, Zou, D, Dou, S, Yang, S, Yang, W, Cheng, F, Liang, H, Jin, H (2020) SCDetector: Software functional clone detection based on semantic tokens analysis. Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, 821–833. https://doi.org/10.1145/3324884.3416562 Wu, Y, Zou, D, Dou, S, Yang, S, Yang, W, Cheng, F, Liang, H, Jin, H (2020) SCDetector: Software functional clone detection based on semantic tokens analysis. Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, 821–833. https://​doi.​org/​10.​1145/​3324884.​3416562
Zurück zum Zitat Xue, H, Venkataramani, G, Lan, T (2018) Clone-Slicer: Detecting Domain Specific Binary Code Clones through Program Slicing. Proceedings of the 2018 Workshop on Forming an Ecosystem Around Software Transformation - FEAST ’18, 27–33. https://doi.org/10.1145/3273045.3273047 Xue, H, Venkataramani, G, Lan, T (2018) Clone-Slicer: Detecting Domain Specific Binary Code Clones through Program Slicing. Proceedings of the 2018 Workshop on Forming an Ecosystem Around Software Transformation - FEAST ’18, 27–33. https://​doi.​org/​10.​1145/​3273045.​3273047
Zurück zum Zitat Zhao, G, Huang, J (2018) DeepSim: Deep learning code functional similarity. Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 141–151. https://doi.org/10.1145/3236024.3236068 Zhao, G, Huang, J (2018) DeepSim: Deep learning code functional similarity. Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 141–151. https://​doi.​org/​10.​1145/​3236024.​3236068
Metadaten
Titel
Deep learning approaches for bad smell detection: a systematic literature review
verfasst von
Amal Alazba
Hamoud Aljamaan
Mohammad Alshayeb
Publikationsdatum
01.05.2023
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 3/2023
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-023-10312-z

Weitere Artikel der Ausgabe 3/2023

Empirical Software Engineering 3/2023 Zur Ausgabe

Premium Partner