Skip to main content
Erschienen in: Software Quality Journal 3/2019

27.10.2018

Software Design Smell Detection: a systematic mapping study

verfasst von: Khalid Alkharabsheh, Yania Crespo, Esperanza Manso, José A. Taboada

Erschienen in: Software Quality Journal | Ausgabe 3/2019

Einloggen

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

search-config
loading …

Abstract

Design Smells are indicators of situations that negatively affect software quality attributes such as understandability, testability, extensibility, reusability, and maintainability in general. Improving maintainability is one of the cornerstones of making software evolution easier. Hence, Design Smell Detection is important in helping developers when making decisions that can improve software evolution processes. After a long period of research, it is important to organize the knowledge produced so far and to identify current challenges and future trends. In this paper, we analyze 18 years of research into Design Smell Detection. There is a wide variety of terms that have been used in the literature to describe concepts which are similar to what we have defined as “Design Smells,” such as design defect, design flaw, anomaly, pitfall, antipattern, and disharmony. The aim of this paper is to analyze all these terms and include them in the study. We have used the standard systematic literature review method based on a comprehensive set of 395 articles published in different proceedings, journals, and book chapters. We present the results in different dimensions of Design Smell Detection, such as the type or scope of smell, detection approaches, tools, applied techniques, validation evidence, type of artifact in which the smell is detected, resources used in evaluation, supported languages, and relation between detected smells and software quality attributes according to a quality model. The main contributions of this paper are, on the one hand, the application of domain modeling techniques to obtain a conceptual model that allows the organization of the knowledge on Design Smell Detection and a collaborative web application built on that knowledge and, on the other, finding how tendencies have moved across different kinds of smell detection, as well as different approaches and techniques. Key findings for future trends include the fact that all automatic detection tools described in the literature identify Design Smells as a binary decision (having the smell or not), which is an opportunity to evolve to fuzzy and prioritized decisions. We also find that there is a lack of human experts and benchmark validation processes, as well as demonstrating that Design Smell Detection positively influences quality attributes.

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 "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!

Anhänge
Nur mit Berechtigung zugänglich
Literatur
Zurück zum Zitat Alkharabsheh, K., Crespo, Y., Manso, E., Taboada, J. (2016a). Comparación de herramientas de Detección de Design Smells. In Jornadas de Ingeniería del Software y Bases de Datos, JISBD (pp. 159–172). Salamanca, Spain. Alkharabsheh, K., Crespo, Y., Manso, E., Taboada, J. (2016a). Comparación de herramientas de Detección de Design Smells. In Jornadas de Ingeniería del Software y Bases de Datos, JISBD (pp. 159–172). Salamanca, Spain.
Zurück zum Zitat Alkharabsheh, K., Crespo, Y., Manso, E., Taboada, J. (2016b). Sobre el grado de acuerdo entre evaluadores en la detección de Design Smells. In Jornadas de Ingeniería del Software y Bases de Datos, JISBD (pp. 143–157). Salamanca, Spain. Alkharabsheh, K., Crespo, Y., Manso, E., Taboada, J. (2016b). Sobre el grado de acuerdo entre evaluadores en la detección de Design Smells. In Jornadas de Ingeniería del Software y Bases de Datos, JISBD (pp. 143–157). Salamanca, Spain.
Zurück zum Zitat Bavota, G., De Lucia, A., Di Penta, M., Oliveto, R., & Palomba, F. (2015). An experimental investigation on the innate relationship between quality and refactoring. Journal of Systems and Software, 107, 1–14.CrossRef Bavota, G., De Lucia, A., Di Penta, M., Oliveto, R., & Palomba, F. (2015). An experimental investigation on the innate relationship between quality and refactoring. Journal of Systems and Software, 107, 1–14.CrossRef
Zurück zum Zitat Brown, W.J., Malveau, R., III, Mc Cormick, H.W., Mowbray, T.J. (1998). Antipatterns refactoring software, architectures and projects in crisis. John Wiley & Sons Inc. Brown, W.J., Malveau, R., III, Mc Cormick, H.W., Mowbray, T.J. (1998). Antipatterns refactoring software, architectures and projects in crisis. John Wiley & Sons Inc.
Zurück zum Zitat Budgen, D., Bailey, J., Turner, M., Kitchenham, B., Brereton, P., Charters, S. (2008). Lessons from a cross-domain investigation of empirical practices. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, EASE (pp. 88–99). Italy. Budgen, D., Bailey, J., Turner, M., Kitchenham, B., Brereton, P., Charters, S. (2008). Lessons from a cross-domain investigation of empirical practices. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, EASE (pp. 88–99). Italy.
Zurück zum Zitat Dyba, T., Dingsoyr, T., Hanssen, G.K. (2007). Applying systematic reviews to diverse study types: an experience report. In Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, ESEM (pp. 225-234). Madrid, Spain. Dyba, T., Dingsoyr, T., Hanssen, G.K. (2007). Applying systematic reviews to diverse study types: an experience report. In Proceedings of the First International Symposium on Empirical Software Engineering and Measurement, ESEM (pp. 225-234). Madrid, Spain.
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, EASE (pp. 1-18). New York, NY, USA. 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, EASE (pp. 1-18). New York, NY, USA.
Zurück zum Zitat Fokaefs, M., Tsantalis, N. (2007). Jdeodorant: Identification and removal of feature envy bad smells. In IEEE International Conference on Software Maintenance, ICSM (pp. 519-520). Paris, France. Fokaefs, M., Tsantalis, N. (2007). Jdeodorant: Identification and removal of feature envy bad smells. In IEEE International Conference on Software Maintenance, ICSM (pp. 519-520). Paris, France.
Zurück zum Zitat Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: improving the design of existing code. Addison-Wesley Professional. Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: improving the design of existing code. Addison-Wesley Professional.
Zurück zum Zitat Ganter, B., Wille, R. (1999). Formal concept analysis: mathematical foundations. Springer, Berlin/Heidelberg. Ganter, B., Wille, R. (1999). Formal concept analysis: mathematical foundations. Springer, Berlin/Heidelberg.
Zurück zum Zitat Gupta, A., Suri, B., & Misra, S. (2017). A systematic literature review: code bad smells in java source code. In International Conference on Computational Science and Its Applications, ICCSA (pp. 665-682). Italy: Trieste. Gupta, A., Suri, B., & Misra, S. (2017). A systematic literature review: code bad smells in java source code. In International Conference on Computational Science and Its Applications, ICCSA (pp. 665-682). Italy: Trieste.
Zurück zum Zitat Hassaine, S., Khomh, F., Guéhéneuc, Y., Hamel, S. (2010). IDS: an immune-inspired approach for the detection of software Design Smells. In Proceedings of Quality of Information and Communications Technology, 7th International Conference on the Quality of Information and Communications Technology, QUATIC (pp. 343-348). Porto, Portugal. Hassaine, S., Khomh, F., Guéhéneuc, Y., Hamel, S. (2010). IDS: an immune-inspired approach for the detection of software Design Smells. In Proceedings of Quality of Information and Communications Technology, 7th International Conference on the Quality of Information and Communications Technology, QUATIC (pp. 343-348). Porto, Portugal.
Zurück zum Zitat Jung, H. W., Kim, S. G., & Chung, C. S. (2004). Measuring software product quality: a survey of iso/iec 9126. IEEE Software Journal, 21(5), 88–92.CrossRef Jung, H. W., Kim, S. G., & Chung, C. S. (2004). Measuring software product quality: a survey of iso/iec 9126. IEEE Software Journal, 21(5), 88–92.CrossRef
Zurück zum Zitat Kitchenham, B., Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering. In Tecnical. Report EBSE-2007-01, Keele University. Kitchenham, B., Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering. In Tecnical. Report EBSE-2007-01, Keele University.
Zurück zum Zitat Kitchenham, B., Mendes, E., & Travassos, G. H. (2006). A systematic review of cross-vs. within-company cost estimation studies. In Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering (pp. 81–90). Kitchenham, B., Mendes, E., & Travassos, G. H. (2006). A systematic review of cross-vs. within-company cost estimation studies. In Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering (pp. 81–90).
Zurück zum Zitat Laguna, M. A., & Crespo, Y. (2013). A systematic mapping study on software product line evolution: from legacy system reengineering to product line refactoring. Journal of Science of Computer Programming, 78(8), 1010–1034.CrossRef Laguna, M. A., & Crespo, Y. (2013). A systematic mapping study on software product line evolution: from legacy system reengineering to product line refactoring. Journal of Science of Computer Programming, 78(8), 1010–1034.CrossRef
Zurück zum Zitat Lanza, M., Marinescu, R. (2006). Object-oriented metrics in practice—using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer. Lanza, M., Marinescu, R. (2006). Object-oriented metrics in practice—using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer.
Zurück zum Zitat Líška, P., Polášek, I. (2011). Design Smell Detection with similarity scoring and fingerprinting: preliminary study. In Eastern European Regional Conference on the Engineering of Computer Based Systems, ECBS-EERC (pp. 163–164). Bratislava. Líška, P., Polášek, I. (2011). Design Smell Detection with similarity scoring and fingerprinting: preliminary study. In Eastern European Regional Conference on the Engineering of Computer Based Systems, ECBS-EERC (pp. 163–164). Bratislava.
Zurück zum Zitat Martin, R.C. (2003). Agile software development: principles, patterns, and practices. Prentice Hall PTR, Upper Saddle River, NJ, USA. Martin, R.C. (2003). Agile software development: principles, patterns, and practices. Prentice Hall PTR, Upper Saddle River, NJ, USA.
Zurück zum Zitat Mens, T., & Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2), 126–139.CrossRef Mens, T., & Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2), 126–139.CrossRef
Zurück zum Zitat Moha, N. (2007). Detection and correction of design defects in object-oriented designs. In Companion to the 22Nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, OOPSLA (pp. 949–950). Montreal, Quebec, Canada. Moha, N. (2007). Detection and correction of design defects in object-oriented designs. In Companion to the 22Nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, OOPSLA (pp. 949–950). Montreal, Quebec, Canada.
Zurück zum Zitat Moha, N., Guéhéneuc, 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.CrossRefMATH Moha, N., Guéhéneuc, 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.CrossRefMATH
Zurück zum Zitat Novais, R. L., Torres, A., Mendes, T. S., Mendonça, M. G., & Zazworka, N. (2013). Software evolution visualization: a systematic mapping study. Information & Software Technology, 55(11), 1860–1883.CrossRef Novais, R. L., Torres, A., Mendes, T. S., Mendonça, M. G., & Zazworka, N. (2013). Software evolution visualization: a systematic mapping study. Information & Software Technology, 55(11), 1860–1883.CrossRef
Zurück zum Zitat Pérez, J., Moha, N., Mens, T. (2011). A classification framework and survey for Design Smell management. In Technical report. 2011/01, GIRO Research Group, Departamento de Informática, Universidad de Valladolid. Pérez, J., Moha, N., Mens, T. (2011). A classification framework and survey for Design Smell management. In Technical report. 2011/01, GIRO Research Group, Departamento de Informática, Universidad de Valladolid.
Zurück zum Zitat Pérez-García, F.J. (2011). Refactoring planning for Design Smell correction in object-oriented software, Ph.D. thesis. University of Valladolid. Pérez-García, F.J. (2011). Refactoring planning for Design Smell correction in object-oriented software, Ph.D. thesis. University of Valladolid.
Zurück zum Zitat Polásek, I., Líska, P., Kelemen, J., & Lang, J. (2012). On extended similarity scoring and bitvector algorithms for Design Smell detection. In IEEE 16th International Conference on Intelligent Engineering Systems (pp. 115–120). Lisbon, portugal: INES. Polásek, I., Líska, P., Kelemen, J., & Lang, J. (2012). On extended similarity scoring and bitvector algorithms for Design Smell detection. In IEEE 16th International Conference on Intelligent Engineering Systems (pp. 115–120). Lisbon, portugal: INES.
Zurück zum Zitat Rasool, G., & Arshad, Z. (2015). A review of code smell mining techniques. Journal of Software Evolution and Process, 27(11), 867–895.CrossRef Rasool, G., & Arshad, Z. (2015). A review of code smell mining techniques. Journal of Software Evolution and Process, 27(11), 867–895.CrossRef
Zurück zum Zitat Rattan, D., Bhatia, R. K., & Singh, M. (2013). Software clone detection: a systematic review. Information & Software Technology, 55(7), 1165–1199.CrossRef Rattan, D., Bhatia, R. K., & Singh, M. (2013). Software clone detection: a systematic review. Information & Software Technology, 55(7), 1165–1199.CrossRef
Zurück zum Zitat Salehie, M., Li, S., & Tahvildari, L. (2006). A metric-based heuristic framework to detect object-oriented design flaws. In 14th IEEE International Conference on Program Comprehension (pp. 159–168). Athens, Greece: ICPC.CrossRef Salehie, M., Li, S., & Tahvildari, L. (2006). A metric-based heuristic framework to detect object-oriented design flaws. In 14th IEEE International Conference on Program Comprehension (pp. 159–168). Athens, Greece: ICPC.CrossRef
Zurück zum Zitat Singh, S., Kaur, S. (2017). A systematic literature review: Refactoring for disclosing code smells in object-oriented software. Ain Shams Engineering Journal. Singh, S., Kaur, S. (2017). A systematic literature review: Refactoring for disclosing code smells in object-oriented software. Ain Shams Engineering Journal.
Zurück zum Zitat Suryanarayana, G., Samarthyam, G., & Sharma, T. (2014). Refactoring for software Design Smells: managing technical debt. Morgan Kaufmann. Suryanarayana, G., Samarthyam, G., & Sharma, T. (2014). Refactoring for software Design Smells: managing technical debt. Morgan Kaufmann.
Zurück zum Zitat Vasconcellos, F. J., Landre, G. B., Cunha, J. A. O., Oliveira, J. L., Ferreira, R. A., & Vincenzi, A. M. (2017). Approaches to strategic alignment of software process improvement: a systematic literature review. Journal of Systems and Software, 123, 45–63.CrossRef Vasconcellos, F. J., Landre, G. B., Cunha, J. A. O., Oliveira, J. L., Ferreira, R. A., & Vincenzi, A. M. (2017). Approaches to strategic alignment of software process improvement: a systematic literature review. Journal of Systems and Software, 123, 45–63.CrossRef
Zurück zum Zitat Wasylkowski, A., Zeller, A., & Lindig, C. (2007). Detecting object usage anomalies. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (pp. 35–44). Dubrovnik, Croatia: ESECFSE. Wasylkowski, A., Zeller, A., & Lindig, C. (2007). Detecting object usage anomalies. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (pp. 35–44). Dubrovnik, Croatia: ESECFSE.
Zurück zum Zitat Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. In In Proceedings of the 18th international conference on evaluation and assessment in software engineering (p. 38). London, England: EASE. Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. In In Proceedings of the 18th international conference on evaluation and assessment in software engineering (p. 38). London, England: EASE.
Zurück zum Zitat Wohlin, C., Runeson, P., Hst, M., Ohlsson, M., Regnell, B.,Wessln, A. (2012). Experimentation in software engineering. International Series. Springer Science & Business Media. Wohlin, C., Runeson, P., Hst, M., Ohlsson, M., Regnell, B.,Wessln, A. (2012). Experimentation in software engineering. International Series. Springer Science & Business Media.
Zurück zum Zitat Yamashita, A., & Counsell, S. (2013). Code smells as system-level indicators of maintainability: an empirical study. Journal of Systems and Software, 86(10), 2639–2653.CrossRef Yamashita, A., & Counsell, S. (2013). Code smells as system-level indicators of maintainability: an empirical study. Journal of Systems and Software, 86(10), 2639–2653.CrossRef
Zurück zum Zitat Zazworka, N., Shaw, M. A., Shull, F., & Seaman, C. (2011). Investigating the impact of design debt on software quality. In In Proceedings of the 2nd Workshop on Managing Technical Debt (pp. 17–23). Waikiki, Honolulu, HI, USA: MTD. Zazworka, N., Shaw, M. A., Shull, F., & Seaman, C. (2011). Investigating the impact of design debt on software quality. In In Proceedings of the 2nd Workshop on Managing Technical Debt (pp. 17–23). Waikiki, Honolulu, HI, USA: MTD.
Zurück zum Zitat Zhang, M., Hall, T., & Baddoo, N. (2011). Code bad smells: a review of current knowledge. Journal of Software Maintenance, 23(3), 179–202.CrossRef Zhang, M., Hall, T., & Baddoo, N. (2011). Code bad smells: a review of current knowledge. Journal of Software Maintenance, 23(3), 179–202.CrossRef
Metadaten
Titel
Software Design Smell Detection: a systematic mapping study
verfasst von
Khalid Alkharabsheh
Yania Crespo
Esperanza Manso
José A. Taboada
Publikationsdatum
27.10.2018
Verlag
Springer US
Erschienen in
Software Quality Journal / Ausgabe 3/2019
Print ISSN: 0963-9314
Elektronische ISSN: 1573-1367
DOI
https://doi.org/10.1007/s11219-018-9424-8

Weitere Artikel der Ausgabe 3/2019

Software Quality Journal 3/2019 Zur Ausgabe

Premium Partner