Skip to main content

2024 | OriginalPaper | Buchkapitel

An Insight into Code Smell Detection Tool

verfasst von : Shrasti Mourya, Piyush Pratap Singh, V. B. Singh

Erschienen in: Reliability Engineering for Industrial Processes

Verlag: Springer Nature Switzerland

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

search-config
loading …

Abstract

A code smell isn’t a bug and it won’t help your system operate exceptionally. It might simply make it more difficult for software engineers to comprehend and maintain project source code, resulting in extra maintenance expenses. Researchers have provided a variety of techniques and tools for extracting code smells throughout the last 20 years. Therefore, there is a need for comprehensive research that summarizes and compares the large range of existing tools. We present a complete catalogue of all known code smell detection tools in this paper. We found 112 tools as a result of our study, 52 of them available for download online. They also support a variety of programming languages including Java, JavaScript, C, C++, C#, Python, and others. We categorize different code smell detection tools in this study based on their type, availability, detection techniques, identified code smells, supported languages, and main features.

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

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!

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"

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!

Literatur
1.
Zurück zum Zitat Sharma T, Spinellis D (2018) A survey on software smells. J Syst Softw 138:158–173CrossRef Sharma T, Spinellis D (2018) A survey on software smells. J Syst Softw 138:158–173CrossRef
2.
Zurück zum Zitat Van Emden E, Moonen L (2002) Java quality assurance by detecting code smells. In: Ninth working conference on reverse engineering, Proceedings, pp 97–106. IEEE Van Emden E, Moonen L (2002) Java quality assurance by detecting code smells. In: Ninth working conference on reverse engineering, Proceedings, pp 97–106. IEEE
3.
Zurück zum Zitat Liu H, Ma Z, Shao W, Niu Z (2011) Schedule of bad smell detection and resolution: a new way to save effort. IEEE Trans Software Eng 38(1):220–235CrossRef Liu H, Ma Z, Shao W, Niu Z (2011) Schedule of bad smell detection and resolution: a new way to save effort. IEEE Trans Software Eng 38(1):220–235CrossRef
4.
Zurück zum Zitat Fontana FA, Mariani E, Mornioli A, Sormani R, Tonello A (2011) An experience report on using code smells detection tools. In: 2011 IEEE fourth international conference on software testing, verification and validation workshops, pp 450–457. IEEE Fontana FA, Mariani E, Mornioli A, Sormani R, Tonello A (2011) An experience report on using code smells detection tools. In: 2011 IEEE fourth international conference on software testing, verification and validation workshops, pp 450–457. IEEE
5.
Zurück zum Zitat Gerlitz T, Tran QM, Dziobek C (2015) Detection and handling of model smells for MATLAB/Simulink models. In: MASE@ MoDELS, pp 13–22 Gerlitz T, Tran QM, Dziobek C (2015) Detection and handling of model smells for MATLAB/Simulink models. In: MASE@ MoDELS, pp 13–22
6.
Zurück zum Zitat Kessentini M, Ouni A (2017) Detecting android smells using multi-objective genetic programming. In: 2017 IEEE/ACM 4th international conference on mobile software engineering and systems (MOBILESoft), pp 122–132. IEEE Kessentini M, Ouni A (2017) Detecting android smells using multi-objective genetic programming. In: 2017 IEEE/ACM 4th international conference on mobile software engineering and systems (MOBILESoft), pp 122–132. IEEE
7.
Zurück zum Zitat Palomba F, Di Nucci D, Panichella A, Zaidman A, De Lucia A (2017) Lightweight detection of android-specific code smells: The adoctor project. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 487–491. IEEE Palomba F, Di Nucci D, Panichella A, Zaidman A, De Lucia A (2017) Lightweight detection of android-specific code smells: The adoctor project. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 487–491. IEEE
8.
Zurück zum Zitat Singh S, Kaur S (2018) A systematic literature review: refactoring for disclosing code smells in object oriented software. Ain Shams Eng J 9(4):2129–2151CrossRef Singh S, Kaur S (2018) A systematic literature review: refactoring for disclosing code smells in object oriented software. Ain Shams Eng J 9(4):2129–2151CrossRef
9.
Zurück zum Zitat Fernandes E, Oliveira J, Vale G, Paiva T, Figueiredo E (2016) A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th International conference on evaluation and assessment in software engineering, pp 1–12 Fernandes E, Oliveira J, Vale G, Paiva T, Figueiredo E (2016) A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th International conference on evaluation and assessment in software engineering, pp 1–12
10.
Zurück zum Zitat Gupta A, Suri B, Kumar V, Misra S, Blažauskas T, Damaševičius R (2018) Software code smell prediction model using Shannon. Rényi and Tsallis entropies. Entropy 20(5):372CrossRef Gupta A, Suri B, Kumar V, Misra S, Blažauskas T, Damaševičius R (2018) Software code smell prediction model using Shannon. Rényi and Tsallis entropies. Entropy 20(5):372CrossRef
11.
Zurück zum Zitat Tandon S, Kumar V, Singh VB (2022) An empirical analysis of code smells using CRITIC-TOPSIS method. In: 2022 12th international conference on cloud computing, data science & engineering (Confluence), pp 234–239. IEEE Tandon S, Kumar V, Singh VB (2022) An empirical analysis of code smells using CRITIC-TOPSIS method. In: 2022 12th international conference on cloud computing, data science & engineering (Confluence), pp 234–239. IEEE
12.
Zurück zum Zitat Tandon S, Kumar V, Singh VB (2022) Empirical evaluation of code smells in open-source software (OSS) using Best Worst Method (BWM) and TOPSIS approach. Int J Qual Reliab Manag 39(3):815–835CrossRef Tandon S, Kumar V, Singh VB (2022) Empirical evaluation of code smells in open-source software (OSS) using Best Worst Method (BWM) and TOPSIS approach. Int J Qual Reliab Manag 39(3):815–835CrossRef
13.
Zurück zum Zitat Gupta A, Gandhi R, Kumar V (2023) Investigating bad smells with feature selection and machine learning approaches. In: Kumar V, Pham H (eds) Predictive analytics in system reliability. Springer series in reliability engineering. Springer, Cham. https://doi.org/10.1007/978-3-031-05347-4_4 Gupta A, Gandhi R, Kumar V (2023) Investigating bad smells with feature selection and machine learning approaches. In: Kumar V, Pham H (eds) Predictive analytics in system reliability. Springer series in reliability engineering. Springer, Cham. https://​doi.​org/​10.​1007/​978-3-031-05347-4_​4
14.
Zurück zum Zitat Yamashita A, Moonen L (2013) To what extent can maintenance problems be predicted by code smell detection?–An empirical study. Inf Softw Technol 55(12):2223–2242CrossRef Yamashita A, Moonen L (2013) To what extent can maintenance problems be predicted by code smell detection?–An empirical study. Inf Softw Technol 55(12):2223–2242CrossRef
15.
Zurück zum Zitat Trifu A, Marinescu R (2005) Diagnosing design problems in object oriented systems. In: 12th working conference on reverse engineering (WCRE’05), pp 10-pp. IEEE Trifu A, Marinescu R (2005) Diagnosing design problems in object oriented systems. In: 12th working conference on reverse engineering (WCRE’05), pp 10-pp. IEEE
16.
Zurück zum Zitat Schumacher J, Zazworka N, Shull F, Seaman C, Shaw M (2010) Building empirical support for automated code smell detection. In: Proceedings of the 2010 ACM-IEEE international symposium on empirical software engineering and measurement, pp 1–10 Schumacher J, Zazworka N, Shull F, Seaman C, Shaw M (2010) Building empirical support for automated code smell detection. In: Proceedings of the 2010 ACM-IEEE international symposium on empirical software engineering and measurement, pp 1–10
17.
Zurück zum Zitat Olbrich S, Cruzes DS, Basili V, Zazworka N (2009) The evolution and impact of code smells: a case study of two open source systems. In: 2009 3rd international symposium on empirical software engineering and measurement, pp 390–400. IEEE Olbrich S, Cruzes DS, Basili V, Zazworka N (2009) The evolution and impact of code smells: a case study of two open source systems. In: 2009 3rd international symposium on empirical software engineering and measurement, pp 390–400. IEEE
18.
Zurück zum Zitat Fontana FA, Ferme V, Marino A, Walter B, Martenka P (2013) Investigating the impact of code smells on system’s quality: an empirical study on systems of different application domains. In: 2013 IEEE international conference on software maintenance, pp 260–269. IEEE Fontana FA, Ferme V, Marino A, Walter B, Martenka P (2013) Investigating the impact of code smells on system’s quality: an empirical study on systems of different application domains. In: 2013 IEEE international conference on software maintenance, pp 260–269. IEEE
19.
Zurück zum Zitat Evans WS, Fraser CW, Ma F (2009) Clone detection via structural abstraction. Software Qual J 17(4):309–330CrossRef Evans WS, Fraser CW, Ma F (2009) Clone detection via structural abstraction. Software Qual J 17(4):309–330CrossRef
20.
Zurück zum Zitat Yamashita A (2014) Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data. Empir Softw Eng 19(4):1111–1143CrossRef Yamashita A (2014) Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data. Empir Softw Eng 19(4):1111–1143CrossRef
21.
Zurück zum Zitat Fontana FA, Mangiacavalli M, Pochiero D, Zanoni M (2015) On experimenting refactoring tools to remove code smells. In: Scientific workshop proceedings of the XP2015, pp 1–8 Fontana FA, Mangiacavalli M, Pochiero D, Zanoni M (2015) On experimenting refactoring tools to remove code smells. In: Scientific workshop proceedings of the XP2015, pp 1–8
22.
Zurück zum Zitat Kamiya T, Kusumoto S, Inoue K (2002) CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Software Eng 28(7):654–670CrossRef Kamiya T, Kusumoto S, Inoue K (2002) CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Software Eng 28(7):654–670CrossRef
23.
Zurück zum Zitat Ochodek M, Hebig R, Meding W, Frost G, Staron M (2020) Recognizing lines of code violating company-specific coding guidelines using machine learning. Empir Softw Eng 25(1):220–265CrossRef Ochodek M, Hebig R, Meding W, Frost G, Staron M (2020) Recognizing lines of code violating company-specific coding guidelines using machine learning. Empir Softw Eng 25(1):220–265CrossRef
24.
Zurück zum Zitat Kaurr H, Maini R (2020) Function clone removal using refactoring techniques. Adv Math Scientific J 9(6):4001–4013CrossRef Kaurr H, Maini R (2020) Function clone removal using refactoring techniques. Adv Math Scientific J 9(6):4001–4013CrossRef
25.
Zurück zum Zitat Tourwé T, Mens T (2003) Identifying refactoring opportunities using logic meta programming. In: Seventh European conference onsoftware maintenance and reengineering, 2003. Proceedings, pp 91–100. IEEE Tourwé T, Mens T (2003) Identifying refactoring opportunities using logic meta programming. In: Seventh European conference onsoftware maintenance and reengineering, 2003. Proceedings, pp 91–100. IEEE
26.
Zurück zum Zitat Basit HA, Jarzabek S (2009) A data mining approach for detecting higher-level clones in software. IEEE Trans Software Eng 35(4):497–514CrossRef Basit HA, Jarzabek S (2009) A data mining approach for detecting higher-level clones in software. IEEE Trans Software Eng 35(4):497–514CrossRef
27.
Zurück zum Zitat Wahler V, Seipel D, Wolff J, Fischer G (2004) Clone detection in source code by frequent itemset techniques. In: Source code analysis and manipulation, fourth IEEE international workshop on, pp 128–135. IEEE Wahler V, Seipel D, Wolff J, Fischer G (2004) Clone detection in source code by frequent itemset techniques. In: Source code analysis and manipulation, fourth IEEE international workshop on, pp 128–135. IEEE
28.
Zurück zum Zitat Marinescu R (2004) Detection strategies: Metrics-based rules for detecting design flaws. In: 20th IEEE international conference on software maintenance, 2004. Proceedings, pp 350–359. IEEE Marinescu R (2004) Detection strategies: Metrics-based rules for detecting design flaws. In: 20th IEEE international conference on software maintenance, 2004. Proceedings, pp 350–359. IEEE
29.
Zurück zum Zitat Marinescu R, Ratiu D (2004) Quantifying the quality of object-oriented design: the factor-strategy model. In: 11th Working conference on reverse engineering, pp 192–201. IEEE Marinescu R, Ratiu D (2004) Quantifying the quality of object-oriented design: the factor-strategy model. In: 11th Working conference on reverse engineering, pp 192–201. IEEE
30.
Zurück zum Zitat Deissenboeck F, Pizka M, Seifert T (2005) Tool support for continuous quality assessment. In: 13th IEEE International workshop on software technology and engineering practice (STEP’05), pp 127–136. IEEE Deissenboeck F, Pizka M, Seifert T (2005) Tool support for continuous quality assessment. In: 13th IEEE International workshop on software technology and engineering practice (STEP’05), pp 127–136. IEEE
31.
Zurück zum Zitat Ratzinger J, Fischer M, Gall H (2005) Evolens: Lens-view visualizations of evolution data. In: Eighth international workshop on principles of software evolution (IWPSE’05), pp 103–112. IEEE Ratzinger J, Fischer M, Gall H (2005) Evolens: Lens-view visualizations of evolution data. In: Eighth international workshop on principles of software evolution (IWPSE’05), pp 103–112. IEEE
32.
Zurück zum Zitat Kreimer J (2005) Adaptive detection of design flaws. Electron Notes Theoret Comput Sci 141(4):117–136CrossRef Kreimer J (2005) Adaptive detection of design flaws. Electron Notes Theoret Comput Sci 141(4):117–136CrossRef
33.
Zurück zum Zitat Eichberg M, Haupt M, Mezini M, Schafer T (2005) Comprehensive software understanding with SEXTANT. In 21st IEEE international conference on software maintenance (ICSM’05), pp 315–324. IEEE Eichberg M, Haupt M, Mezini M, Schafer T (2005) Comprehensive software understanding with SEXTANT. In 21st IEEE international conference on software maintenance (ICSM’05), pp 315–324. IEEE
34.
Zurück zum Zitat Basit HA, Jarzabek S (2005) Detecting higher-level similarity patterns in programs. ACM Sigsoft Softw Eng Notes 30(5):156–165CrossRef Basit HA, Jarzabek S (2005) Detecting higher-level similarity patterns in programs. ACM Sigsoft Softw Eng Notes 30(5):156–165CrossRef
35.
Zurück zum Zitat Slinger S (2005) Code smell detection in eclipse. Delft University of Technology Slinger S (2005) Code smell detection in eclipse. Delft University of Technology
36.
Zurück zum Zitat Fontana FA, Zanoni M, Marino A, Mäntylä MV (2013) Code smell detection: Towards a machine learning-based approach. In: 2013 IEEE international conference on software maintenance, pp 396–399. IEEE Fontana FA, Zanoni M, Marino A, Mäntylä MV (2013) Code smell detection: Towards a machine learning-based approach. In: 2013 IEEE international conference on software maintenance, pp 396–399. IEEE
37.
Zurück zum Zitat Romano S, Scanniello G, Sartiani C, Risi M (2016) A graph-based approach to detect unreachable methods in java software. In Proceedings of the 31st Annual ACM symposium on applied computing, pp 1538–1541 Romano S, Scanniello G, Sartiani C, Risi M (2016) A graph-based approach to detect unreachable methods in java software. In Proceedings of the 31st Annual ACM symposium on applied computing, pp 1538–1541
38.
Zurück zum Zitat Roy CK, Cordy JR, Koschke R (2009) Comparison and evaluation of code clone detection techniques and tools: a qualitative approach. Sci Comput Program 74(7):470–495MathSciNetCrossRef Roy CK, Cordy JR, Koschke R (2009) Comparison and evaluation of code clone detection techniques and tools: a qualitative approach. Sci Comput Program 74(7):470–495MathSciNetCrossRef
39.
Zurück zum Zitat Parnin C, Görg C, Nnadi O (2008) A catalogue of lightweight visualizations to support code smell inspection. In Proceedings of the 4th ACM symposium on software visualization, pp 77–86 Parnin C, Görg C, Nnadi O (2008) A catalogue of lightweight visualizations to support code smell inspection. In Proceedings of the 4th ACM symposium on software visualization, pp 77–86
40.
Zurück zum Zitat Sager T, Bernstein A, Pinzger M, Kiefer C (2006) Detecting similar Java classes using tree algorithms. In: Proceedings of the 2006 international workshop on Mining software repositories, pp 65–71 Sager T, Bernstein A, Pinzger M, Kiefer C (2006) Detecting similar Java classes using tree algorithms. In: Proceedings of the 2006 international workshop on Mining software repositories, pp 65–71
41.
Zurück zum Zitat Kirk D, Roper M, Wood M (2007) A heuristic-based approach to code-smell detection Kirk D, Roper M, Wood M (2007) A heuristic-based approach to code-smell detection
42.
Zurück zum Zitat Lavazza L, Morasca S, Tosi D (2021) Comparing static analysis and code smells as defect predictors: an empirical study. In: IFIP international conference on open source systems, pp 1–15. Springer, Cham Lavazza L, Morasca S, Tosi D (2021) Comparing static analysis and code smells as defect predictors: an empirical study. In: IFIP international conference on open source systems, pp 1–15. Springer, Cham
43.
Zurück zum Zitat Fokaefs M, Tsantalis N, Chatzigeorgiou A (2007) Jdeodorant: Identification and removal of feature envy bad smells. In: 2007 IEEE international conference on software maintenance, pp 519–520. IEEE Fokaefs M, Tsantalis N, Chatzigeorgiou A (2007) Jdeodorant: Identification and removal of feature envy bad smells. In: 2007 IEEE international conference on software maintenance, pp 519–520. IEEE
44.
Zurück zum Zitat Jiang L, Misherghi G, Su Z, Glondu S (2007) Deckard: Scalable and accurate tree-based detection of code clones. In: 29th International conference on software engineering (ICSE’07), pp 96–105. IEEE Jiang L, Misherghi G, Su Z, Glondu S (2007) Deckard: Scalable and accurate tree-based detection of code clones. In: 29th International conference on software engineering (ICSE’07), pp 96–105. IEEE
45.
Zurück zum Zitat Kiefer C, Bernstein A, Tappolet J (2007) Mining software repositories with isparol and a software ontology. In: Fourth international workshop on mining software repositories (MSR’07: ICSE Workshops 2007), pp 10–10. IEEE Kiefer C, Bernstein A, Tappolet J (2007) Mining software repositories with isparol and a software ontology. In: Fourth international workshop on mining software repositories (MSR’07: ICSE Workshops 2007), pp 10–10. IEEE
46.
Zurück zum Zitat Duala-Ekoko E, Robillard MP (2007) Tracking code clones in evolving software. In: 29th International conference on software engineering (ICSE’07), pp 158–167. IEEE Duala-Ekoko E, Robillard MP (2007) Tracking code clones in evolving software. In: 29th International conference on software engineering (ICSE’07), pp 158–167. IEEE
47.
Zurück zum Zitat Bulychev P, Minea M (2008) Duplicate code detection using anti-unification. In: Proceedings of the spring/summer young researchers’ colloquium on software engineering (No. 2) Bulychev P, Minea M (2008) Duplicate code detection using anti-unification. In: Proceedings of the spring/summer young researchers’ colloquium on software engineering (No. 2)
48.
Zurück zum Zitat Singh V, Snipes W, Kraft NA (2014) A framework for estimating interest on technical debt by monitoring developer activity related to code comprehension. In: 2014 Sixth international workshop on managing technical debt, pp 27–30. IEEE Singh V, Snipes W, Kraft NA (2014) A framework for estimating interest on technical debt by monitoring developer activity related to code comprehension. In: 2014 Sixth international workshop on managing technical debt, pp 27–30. IEEE
49.
Zurück zum Zitat Lujan S, Pecorelli F, Palomba F, De Lucia A, Lenarduzzi V (2020) A preliminary study on the adequacy of static analysis warnings with respect to code smell prediction. In Proceedings of the 4th ACM SIGSOFT international workshop on machine-learning techniques for software-quality evaluation, pp 1–6 Lujan S, Pecorelli F, Palomba F, De Lucia A, Lenarduzzi V (2020) A preliminary study on the adequacy of static analysis warnings with respect to code smell prediction. In Proceedings of the 4th ACM SIGSOFT international workshop on machine-learning techniques for software-quality evaluation, pp 1–6
50.
Zurück zum Zitat Fu S, Shen B (2015) Code bad smell detection through evolutionary data mining. In: 2015 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM), pp 1–9. IEEE Fu S, Shen B (2015) Code bad smell detection through evolutionary data mining. In: 2015 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM), pp 1–9. IEEE
51.
Zurück zum Zitat Roperia N (2009) JSmell: a bad smell detection tool for java systems. California State University, Long Beach Roperia N (2009) JSmell: a bad smell detection tool for java systems. California State University, Long Beach
52.
Zurück zum Zitat Juergens E, Deissenboeck F, Hummel B, Wagner S (2009) Do code clones matter?. In: 2009 IEEE 31st international conference on software engineering, pp 485–495. IEEE Juergens E, Deissenboeck F, Hummel B, Wagner S (2009) Do code clones matter?. In: 2009 IEEE 31st international conference on software engineering, pp 485–495. IEEE
53.
Zurück zum Zitat Yang L, Liu H, Niu Z (2009) Identifying fragments to be extracted from long methods. In: 2009 16th Asia-pacific software engineering conference, pp 43–49. IEEE Yang L, Liu H, Niu Z (2009) Identifying fragments to be extracted from long methods. In: 2009 16th Asia-pacific software engineering conference, pp 43–49. IEEE
54.
Zurück zum Zitat Juergens E, Deissenboeck F, Hummel B (2009) Clonedetective-a workbench for clone detection research. In: 2009 IEEE 31st international conference on software engineering, p. 603–606. IEEE Juergens E, Deissenboeck F, Hummel B (2009) Clonedetective-a workbench for clone detection research. In: 2009 IEEE 31st international conference on software engineering, p. 603–606. IEEE
55.
Zurück zum Zitat Boccuzzo S, Gall HC (2009) Automated comprehension tasks in software exploration. In: 2009 IEEE/ACM international conference on automated software engineering, pp 570–574. IEEE Boccuzzo S, Gall HC (2009) Automated comprehension tasks in software exploration. In: 2009 IEEE/ACM international conference on automated software engineering, pp 570–574. IEEE
56.
Zurück zum Zitat Higo Y, Kusumoto S (2009) Enhancing quality of code clone detection with program dependency graph. In 2009 16th Working conference on reverse engineering, pp 315–316. IEEE Higo Y, Kusumoto S (2009) Enhancing quality of code clone detection with program dependency graph. In 2009 16th Working conference on reverse engineering, pp 315–316. IEEE
57.
Zurück zum Zitat Telea A, Byelas H, Voinea L (2009) A framework for reverse engineering large C++ code bases. Electron Notes Theoret Comput Sci 233:143–159CrossRef Telea A, Byelas H, Voinea L (2009) A framework for reverse engineering large C++ code bases. Electron Notes Theoret Comput Sci 233:143–159CrossRef
58.
Zurück zum Zitat Nödler J, Neukirchen H, Grabowski J (2009) A flexible framework for quality assurance of software artefacts with applications to java, uml, and ttcn-3 test specifications. In: 2009 International conference on software testing verification and validation, pp 101–110. IEEE Nödler J, Neukirchen H, Grabowski J (2009) A flexible framework for quality assurance of software artefacts with applications to java, uml, and ttcn-3 test specifications. In: 2009 International conference on software testing verification and validation, pp 101–110. IEEE
59.
Zurück zum Zitat Ganea G, Verebi I, Marinescu R (2017) Continuous quality assessment with inCode. Sci Comput Program 134:19–36CrossRef Ganea G, Verebi I, Marinescu R (2017) Continuous quality assessment with inCode. Sci Comput Program 134:19–36CrossRef
60.
Zurück zum Zitat Moha N, Guéhéneuc YG, Duchien L, Le Meur AF (2009) Decor: a method for the specification and detection of code and design smells. IEEE Trans Software Eng 36(1):20–36CrossRef Moha N, Guéhéneuc YG, Duchien L, Le Meur AF (2009) Decor: a method for the specification and detection of code and design smells. IEEE Trans Software Eng 36(1):20–36CrossRef
61.
Zurück zum Zitat Murphy-Hill E, Black AP (2010) An interactive ambient visualization for code smells. In: Proceedings of the 5th international symposium on Software visualization, pp 5–14 Murphy-Hill E, Black AP (2010) An interactive ambient visualization for code smells. In: Proceedings of the 5th international symposium on Software visualization, pp 5–14
62.
Zurück zum Zitat Carneiro GDF, Silva M, Mara L, Figueiredo E, Sant’Anna C, Garcia A, Mendonça M (2010) Identifying code smells with multiple concern views. In: 2010 Brazilian symposium on software engineering, pp 128–137. IEEE Carneiro GDF, Silva M, Mara L, Figueiredo E, Sant’Anna C, Garcia A, Mendonça M (2010) Identifying code smells with multiple concern views. In: 2010 Brazilian symposium on software engineering, pp 128–137. IEEE
63.
Zurück zum Zitat Li H, Thompson S (2010) Similar code detection and elimination for Erlang programs. In: International symposium on practical aspects of declarative languages, pp 104–118. Springer, Berlin, Heidelberg Li H, Thompson S (2010) Similar code detection and elimination for Erlang programs. In: International symposium on practical aspects of declarative languages, pp 104–118. Springer, Berlin, Heidelberg
64.
Zurück zum Zitat Fontana FA, Ferme V, Spinelli S (2012) Investigating the impact of code smells debt on quality code evaluation. In: 2012 third international workshop on managing technical debt (MTD), pp 15–22. IEEE Fontana FA, Ferme V, Spinelli S (2012) Investigating the impact of code smells debt on quality code evaluation. In: 2012 third international workshop on managing technical debt (MTD), pp 15–22. IEEE
65.
Zurück zum Zitat Ferenc R (2010) Bug forecast: a method for automatic bug prediction. In: International conference on advanced software engineering and its applications, pp 283–295. Springer, Berlin, Heidelberg Ferenc R (2010) Bug forecast: a method for automatic bug prediction. In: International conference on advanced software engineering and its applications, pp 283–295. Springer, Berlin, Heidelberg
66.
Zurück zum Zitat Peldzius S (2010) Automatic detection of possible refactorings. I:n Proceedings of the 16th international conference on information and software technologies (ICIST), pp 238–245 Peldzius S (2010) Automatic detection of possible refactorings. I:n Proceedings of the 16th international conference on information and software technologies (ICIST), pp 238–245
67.
Zurück zum Zitat Von Detten M, Meyer M, Travkin D (2010) Reverse engineering with the reclipse tool suite. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering-Volume 2, pp 299–300 Von Detten M, Meyer M, Travkin D (2010) Reverse engineering with the reclipse tool suite. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering-Volume 2, pp 299–300
68.
Zurück zum Zitat Guo Y, Seaman C, Zazworka N, Shull F (2010) Domain-specific tailoring of code smells: an empirical study. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, Vol 2, pp 167–170 Guo Y, Seaman C, Zazworka N, Shull F (2010) Domain-specific tailoring of code smells: an empirical study. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, Vol 2, pp 167–170
69.
70.
Zurück zum Zitat Sjøberg DI, Yamashita A, Anda BC, Mockus A, Dybå T (2012) Quantifying the effect of code smells on maintenance effort. IEEE Trans Software Eng 39(8):1144–1156CrossRef Sjøberg DI, Yamashita A, Anda BC, Mockus A, Dybå T (2012) Quantifying the effect of code smells on maintenance effort. IEEE Trans Software Eng 39(8):1144–1156CrossRef
71.
Zurück zum Zitat Cordy JR, Roy CK (2011) The NiCad clone detector. In: 2011 IEEE 19th international conference on program comprehension, pp 219–220. IEEE Cordy JR, Roy CK (2011) The NiCad clone detector. In: 2011 IEEE 19th international conference on program comprehension, pp 219–220. IEEE
72.
Zurück zum Zitat Feng C, Wang T, Liu J, Zhang Y, Xu K, Wang Y (2020) NiCad+: speeding the detecting process of nicad. In: 2020 IEEE international conference on service oriented systems engineering (SOSE), pp 103–110. IEEE Feng C, Wang T, Liu J, Zhang Y, Xu K, Wang Y (2020) NiCad+: speeding the detecting process of nicad. In: 2020 IEEE international conference on service oriented systems engineering (SOSE), pp 103–110. IEEE
73.
Zurück zum Zitat Griffith I, Wahl S, Izurieta C (2011) TrueRefactor: an automated refactoring tool to improve legacy system and application comprehensibility. In: 24th international conference on computer applications in industry and engineering, ISCA 2011 Griffith I, Wahl S, Izurieta C (2011) TrueRefactor: an automated refactoring tool to improve legacy system and application comprehensibility. In: 24th international conference on computer applications in industry and engineering, ISCA 2011
74.
Zurück zum Zitat Stevens R, De Roover C, Noguera C, Kellens A, Jonckers V (2014) A logic foundation for a general-purpose history querying tool. Sci Comput Program 96:107–120CrossRef Stevens R, De Roover C, Noguera C, Kellens A, Jonckers V (2014) A logic foundation for a general-purpose history querying tool. Sci Comput Program 96:107–120CrossRef
75.
Zurück zum Zitat Kellens A, De Roover C, Noguera C, Stevens R, Jonckers V (2011) Reasoning over the evolution of source code using quantified regular path expressions. In: 2011 18th working conference on reverse engineering, pp 389–393. IEEE Kellens A, De Roover C, Noguera C, Stevens R, Jonckers V (2011) Reasoning over the evolution of source code using quantified regular path expressions. In: 2011 18th working conference on reverse engineering, pp 389–393. IEEE
76.
Zurück zum Zitat Arcelli Fontana F, Mäntylä MV, Zanoni M, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empir Softw Eng 21(3):1143–1191CrossRef Arcelli Fontana F, Mäntylä MV, Zanoni M, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empir Softw Eng 21(3):1143–1191CrossRef
77.
Zurück zum Zitat Simon F, Steinbruckner F, Lewerentz C (2001) Metrics based refactoring. In: Proceedings fifth European conference on software maintenance and reengineering, pp 30–38. IEEE Simon F, Steinbruckner F, Lewerentz C (2001) Metrics based refactoring. In: Proceedings fifth European conference on software maintenance and reengineering, pp 30–38. IEEE
78.
Zurück zum Zitat Khomh F, Vaucher S, Guéhéneuc YG, Sahraoui H (2011) BDTEX: A GQM-based Bayesian approach for the detection of antipatterns. J Syst Softw 84(4):559–572CrossRef Khomh F, Vaucher S, Guéhéneuc YG, Sahraoui H (2011) BDTEX: A GQM-based Bayesian approach for the detection of antipatterns. J Syst Softw 84(4):559–572CrossRef
79.
Zurück zum Zitat Mara L, Honorato G, Medeiros FD, Garcia A, Lucena C (2011) Hist-inspect: a tool for history-sensitive detection of code smells. In Proceedings of the tenth international conference on Aspect-oriented software development companion, pp 65–66 Mara L, Honorato G, Medeiros FD, Garcia A, Lucena C (2011) Hist-inspect: a tool for history-sensitive detection of code smells. In Proceedings of the tenth international conference on Aspect-oriented software development companion, pp 65–66
80.
Zurück zum Zitat Zibran MF, Roy CK (2011) Towards flexible code clone detection, management, and refactoring in IDE. In: Proceedings of the 5th international workshop on software clones, pp 75–76 Zibran MF, Roy CK (2011) Towards flexible code clone detection, management, and refactoring in IDE. In: Proceedings of the 5th international workshop on software clones, pp 75–76
81.
Zurück zum Zitat Gopalan R (2012) Automatic detection of code smells in Java source code (Doctoral dissertation, Dissertation for Honour Degree, The University of Western Australia) Gopalan R (2012) Automatic detection of code smells in Java source code (Doctoral dissertation, Dissertation for Honour Degree, The University of Western Australia)
82.
Zurück zum Zitat Alves P, Santana D, Figueiredo E (2012) ConcernReCS: finding code smells in software aspectization. In: 2012 34th international conference on software engineering (ICSE), pp 1463–1464. IEEE Alves P, Santana D, Figueiredo E (2012) ConcernReCS: finding code smells in software aspectization. In: 2012 34th international conference on software engineering (ICSE), pp 1463–1464. IEEE
83.
Zurück zum Zitat Wust J (2005) SDMetrics: the software design metrics tool for UML Wust J (2005) SDMetrics: the software design metrics tool for UML
84.
Zurück zum Zitat Tamrawi A, Nguyen HA, Nguyen HV, Nguyen TN (2012) SYMake: a build code analysis and refactoring tool for makefiles. In: 2012 Proceedings of the 27th IEEE/ACM international conference on automated software engineering, pp 366–369. IEEE Tamrawi A, Nguyen HA, Nguyen HV, Nguyen TN (2012) SYMake: a build code analysis and refactoring tool for makefiles. In: 2012 Proceedings of the 27th IEEE/ACM international conference on automated software engineering, pp 366–369. IEEE
85.
Zurück zum Zitat Islam MR, Zibran MF, Nagpal A (2017) Security vulnerabilities in categories of clones and non-cloned code: an empirical study. In: 2017 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM), pp 20–29. IEEE Islam MR, Zibran MF, Nagpal A (2017) Security vulnerabilities in categories of clones and non-cloned code: an empirical study. In: 2017 ACM/IEEE international symposium on empirical software engineering and measurement (ESEM), pp 20–29. IEEE
86.
Zurück zum Zitat Macia I, Arcoverde R, Cirilo E, Garcia A, von Staa A (2012) Supporting the identification of architecturally-relevant code anomalies. ICSM12, 662–665 Macia I, Arcoverde R, Cirilo E, Garcia A, von Staa A (2012) Supporting the identification of architecturally-relevant code anomalies. ICSM12, 662–665
87.
Zurück zum Zitat Danphitsanuphan P, Suwantada T (2012) Code smell detecting tool and code smell-structure bug relationship. In: 2012 Spring congress on engineering and technology, pp 1–5. IEEE Danphitsanuphan P, Suwantada T (2012) Code smell detecting tool and code smell-structure bug relationship. In: 2012 Spring congress on engineering and technology, pp 1–5. IEEE
88.
Zurück zum Zitat Raab F (2012) CodeSmellExplorer: tangible exploration of code smells and refactorings. In: 2012 IEEE symposium on visual languages and human-centric computing (VL/HCC), pp 261–262. IEEE Raab F (2012) CodeSmellExplorer: tangible exploration of code smells and refactorings. In: 2012 IEEE symposium on visual languages and human-centric computing (VL/HCC), pp 261–262. IEEE
89.
90.
Zurück zum Zitat Nongpong K (2012) Integrating” Code Smells” Detection with refactoring tool support (Doctoral dissertation, The University of Wisconsin-Milwaukee) Nongpong K (2012) Integrating” Code Smells” Detection with refactoring tool support (Doctoral dissertation, The University of Wisconsin-Milwaukee)
91.
Zurück zum Zitat Rasool G, Arshad Z (2015) A review of code smell mining techniques. J Softw Evolut Process 27(11):867–895CrossRef Rasool G, Arshad Z (2015) A review of code smell mining techniques. J Softw Evolut Process 27(11):867–895CrossRef
92.
Zurück zum Zitat Maiga A, Ali N, Bhattacharya N, Sabané A, Guéhéneuc YG, Antoniol G, Aïmeur E (2012) Support vector machines for anti-pattern detection. In: 2012 Proceedings of the 27th IEEE/ACM international conference on automated software engineering, pp 278–281. IEEE Maiga A, Ali N, Bhattacharya N, Sabané A, Guéhéneuc YG, Antoniol G, Aïmeur E (2012) Support vector machines for anti-pattern detection. In: 2012 Proceedings of the 27th IEEE/ACM international conference on automated software engineering, pp 278–281. IEEE
93.
Zurück zum Zitat Liu H, Guo X, Shao W (2013) Monitor-based instant software refactoring. IEEE Trans Software Eng 39(8):1112–1126CrossRef Liu H, Guo X, Shao W (2013) Monitor-based instant software refactoring. IEEE Trans Software Eng 39(8):1112–1126CrossRef
94.
Zurück zum Zitat Fard AM, Mesbah A (2013) Jsnose: detecting javascript code smells. In: 2013 IEEE 13th international working conference on source code analysis and manipulation (SCAM), pp 116–125. IEEE Fard AM, Mesbah A (2013) Jsnose: detecting javascript code smells. In: 2013 IEEE 13th international working conference on source code analysis and manipulation (SCAM), pp 116–125. IEEE
95.
Zurück zum Zitat Kaur A, Raperia H (2013) Implementation and analysis of a refactoring tool for detecting code smells. Int J Comput Technol 6(1):242–247CrossRef Kaur A, Raperia H (2013) Implementation and analysis of a refactoring tool for detecting code smells. Int J Comput Technol 6(1):242–247CrossRef
96.
Zurück zum Zitat Arnaoudova V, Di Penta M, Antoniol G, Guéhéneuc YG (2013) A new family of software anti-patterns: Linguistic anti-patterns. In: 2013 17th European conference on software maintenance and reengineering, pp 187–196. IEEE Arnaoudova V, Di Penta M, Antoniol G, Guéhéneuc YG (2013) A new family of software anti-patterns: Linguistic anti-patterns. In: 2013 17th European conference on software maintenance and reengineering, pp 187–196. IEEE
97.
Zurück zum Zitat Vidal SA, Marcos C, Díaz-Pace JA (2016) An approach to prioritize code smells for refactoring. Autom Softw Eng 23(3):501–532CrossRef Vidal SA, Marcos C, Díaz-Pace JA (2016) An approach to prioritize code smells for refactoring. Autom Softw Eng 23(3):501–532CrossRef
98.
Zurück zum Zitat Sahin D, Kessentini M, Bechikh S, Deb K (2014) Code-smell detection as a bilevel problem. ACM Trans Softw Eng Methodol (TOSEM) 24(1):1–44CrossRef Sahin D, Kessentini M, Bechikh S, Deb K (2014) Code-smell detection as a bilevel problem. ACM Trans Softw Eng Methodol (TOSEM) 24(1):1–44CrossRef
99.
Zurück zum Zitat Hall T, Zhang M, Bowes D, Sun Y (2014) Some code smells have a significant but small effect on faults. ACM Trans Softw Eng Methodol (TOSEM) 23(4):1–39CrossRef Hall T, Zhang M, Bowes D, Sun Y (2014) Some code smells have a significant but small effect on faults. ACM Trans Softw Eng Methodol (TOSEM) 23(4):1–39CrossRef
100.
Zurück zum Zitat Medeiros F (2014) An approach to safely evolve program families in c. In: Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on systems, programming, and applications: software for humanity, pp 25–27 Medeiros F (2014) An approach to safely evolve program families in c. In: Proceedings of the companion publication of the 2014 ACM SIGPLAN conference on systems, programming, and applications: software for humanity, pp 25–27
101.
Zurück zum Zitat Chaudron MR, Katumba B, Ran X (2014) Automated prioritization of metrics-based design flaws in UML class diagrams. In: 2014 40th EUROMICRO conference on software engineering and advanced applications, pp 369–376. IEEE Chaudron MR, Katumba B, Ran X (2014) Automated prioritization of metrics-based design flaws in UML class diagrams. In: 2014 40th EUROMICRO conference on software engineering and advanced applications, pp 369–376. IEEE
102.
Zurück zum Zitat Grigera J, Garrido A, Rivero JM (2014) A tool for detecting bad usability smells automatically. In: International conference on web engineering, pp 490–493. Springer, Cham Grigera J, Garrido A, Rivero JM (2014) A tool for detecting bad usability smells automatically. In: International conference on web engineering, pp 490–493. Springer, Cham
103.
Zurück zum Zitat Arcelli F, Rolla M, Zanoni M (2014) VCS-analyzer for software evolution empirical analysis. In: Proceedings of the 8th ACM/IEEE international symposium on empirical software engineering and measurement, pp 1–1 Arcelli F, Rolla M, Zanoni M (2014) VCS-analyzer for software evolution empirical analysis. In: Proceedings of the 8th ACM/IEEE international symposium on empirical software engineering and measurement, pp 1–1
104.
Zurück zum Zitat Sharma VS, Anwer S (2014) Performance antipatterns: detection and evaluation of their effects in the cloud. In: 2014 IEEE international conference on services computing, pp 758–765. IEEE Sharma VS, Anwer S (2014) Performance antipatterns: detection and evaluation of their effects in the cloud. In: 2014 IEEE international conference on services computing, pp 758–765. IEEE
105.
Zurück zum Zitat Mahajan G, Bharti M (2014) Implementing a 3-way approach of clone detection and removal using pc detector tool. In: 2014 IEEE international advance computing conference (IACC), pp 1435–1441. IEEE Mahajan G, Bharti M (2014) Implementing a 3-way approach of clone detection and removal using pc detector tool. In: 2014 IEEE international advance computing conference (IACC), pp 1435–1441. IEEE
106.
Zurück zum Zitat Singh S, Kaur R (2014) Clone detection in UML class models using class metrics. ACM SIGSOFT Softw Eng Notes 39(3):1–3 Singh S, Kaur R (2014) Clone detection in UML class models using class metrics. ACM SIGSOFT Softw Eng Notes 39(3):1–3
107.
Zurück zum Zitat Romano S, Scanniello G (2018) Exploring the use of rapid type analysis for detecting the dead method smell in java code. In: 2018 44th Euromicro conference on software engineering and advanced applications (SEAA), pp 167–174. IEEE Romano S, Scanniello G (2018) Exploring the use of rapid type analysis for detecting the dead method smell in java code. In: 2018 44th Euromicro conference on software engineering and advanced applications (SEAA), pp 167–174. IEEE
108.
Zurück zum Zitat Hecht G, Rouvoy R, Moha N, Duchien L (2015) Detecting antipatterns in android apps. In: 2015 2nd ACM international conference on mobile software engineering and systems, pp 148–149. IEEE Hecht G, Rouvoy R, Moha N, Duchien L (2015) Detecting antipatterns in android apps. In: 2015 2nd ACM international conference on mobile software engineering and systems, pp 148–149. IEEE
109.
Zurück zum Zitat Liu X, Zhang C (2017) DT: a detection tool to automatically detect code smell in software project. In: 2016 4th International conference on machinery, materials and information technology applications, pp 681–684. Atlantis Press Liu X, Zhang C (2017) DT: a detection tool to automatically detect code smell in software project. In: 2016 4th International conference on machinery, materials and information technology applications, pp 681–684. Atlantis Press
110.
Zurück zum Zitat Velioğlu S, Selçuk YE (2017) An automated code smell and anti-pattern detection approach. In: 2017 IEEE 15th international conference on software engineering research, management and applications (SERA), pp 271–275. IEEE Velioğlu S, Selçuk YE (2017) An automated code smell and anti-pattern detection approach. In: 2017 IEEE 15th international conference on software engineering research, management and applications (SERA), pp 271–275. IEEE
111.
Zurück zum Zitat Fontana FA, Pigazzini I, Roveda R, Zanoni M (2016) Automatic detection of instability architectural smells. In: 2016 IEEE international conference on software maintenance and evolution (ICSME), pp 433–437. IEEE Fontana FA, Pigazzini I, Roveda R, Zanoni M (2016) Automatic detection of instability architectural smells. In: 2016 IEEE international conference on software maintenance and evolution (ICSME), pp 433–437. IEEE
112.
Zurück zum Zitat Peldszus S, Kulcsár G, Lochau M, Schulze S (2016) Continuous detection of design flaws in evolving object-oriented programs using incremental multi-pattern matching. In: 2016 31st IEEE/ACM international conference on automated software engineering (ASE), pp 578–589. IEEE Peldszus S, Kulcsár G, Lochau M, Schulze S (2016) Continuous detection of design flaws in evolving object-oriented programs using incremental multi-pattern matching. In: 2016 31st IEEE/ACM international conference on automated software engineering (ASE), pp 578–589. IEEE
113.
Zurück zum Zitat Sajnani H, Saini V, Svajlenko J, Roy CK, Lopes CV (2016) Sourcerercc: Scaling code clone detection to big-code. In: Proceedings of the 38th international conference on software engineering, pp 1157–1168 Sajnani H, Saini V, Svajlenko J, Roy CK, Lopes CV (2016) Sourcerercc: Scaling code clone detection to big-code. In: Proceedings of the 38th international conference on software engineering, pp 1157–1168
114.
Zurück zum Zitat Chen B, Jiang ZM (2017) Characterizing and detecting anti-patterns in the logging code. In: 2017 IEEE/ACM 39th international conference on software engineering (ICSE), pp 71–81. IEEE Chen B, Jiang ZM (2017) Characterizing and detecting anti-patterns in the logging code. In: 2017 IEEE/ACM 39th international conference on software engineering (ICSE), pp 71–81. IEEE
115.
Zurück zum Zitat Sousa BL, Souza PP, Fernandes EM, Ferreira KA, Bigonha MA (2017) FindSmells: flexible composition of bad smell detection strategies. In: 2017 IEEE/ACM 25th international conference on program comprehension (ICPC), pp 360–363. IEEE Sousa BL, Souza PP, Fernandes EM, Ferreira KA, Bigonha MA (2017) FindSmells: flexible composition of bad smell detection strategies. In: 2017 IEEE/ACM 25th international conference on program comprehension (ICPC), pp 360–363. IEEE
116.
Zurück zum Zitat Prokić S, Grujić KG, Luburić N, Slivka J, Kovačević A, Vidaković D, Sladić G (2021) Clean code and design educational tool. In: 2021 44th international convention on information, communication and electronic technology (MIPRO), pp 1601–1606. IEEE Prokić S, Grujić KG, Luburić N, Slivka J, Kovačević A, Vidaković D, Sladić G (2021) Clean code and design educational tool. In: 2021 44th international convention on information, communication and electronic technology (MIPRO), pp 1601–1606. IEEE
Metadaten
Titel
An Insight into Code Smell Detection Tool
verfasst von
Shrasti Mourya
Piyush Pratap Singh
V. B. Singh
Copyright-Jahr
2024
DOI
https://doi.org/10.1007/978-3-031-55048-5_17

Premium Partner