Skip to main content

A Study: Design Patterns Detection Approaches and Impact on Software Quality

  • Conference paper
  • First Online:
Frontiers in Software Engineering (ICFSE 2021)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1523))

Included in the following conference series:

Abstract

The influence of design decisions on quality characteristics has been studied extensively in research with various viewpoints, aims, measurements, and quality attributes, resulting in contradictory and difficult-to-compare conclusions. Until now, the results on the effect of design patterns on software quality are controversial. There are two objectives of conducting this study. The first one is to analyze the impact of design patterns on software quality. The second is investigating the approaches used for detecting design patterns. All the analysis is done with the use of a technique called systematic literature review (SLR). The SLR findings demonstrate that pattern documentation, pattern class size, and pattern dispersion degree have a significant effect on the quality of software. Similarity scoring, graph-based, and machine learning-based approaches are the existing proposed methods for detecting design patterns. The results have shown that there is a need for benchmarking design patterns detection proposed approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Aichberger, J.: Mining software repositories for the effects of design patterns on software quality (2020)

    Google Scholar 

  2. Alebrahim, A., Fassbender, S., Filipczyk, M., Goedicke, M., Heisel, M.: Towards systematic selection of architectural patterns with respect to quality requirements. In: Proceedings of the 20th European Conference on Pattern Languages of Programs, EuroPLoP 2015. Association for Computing Machinery, New York (2015). https://doi.org/10.1145/2855321.2855362

  3. Alexander, C.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)

    Google Scholar 

  4. Brown, W.H., Malveau, R.C., McCormick, H.W.S., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, 1st edn. Wiley, USA (1998)

    Google Scholar 

  5. Cardoso, B., Figueiredo, E.: Co-occurrence of design patterns and bad smells in software systems: an exploratory study. In: Anais do XI Simpósio Brasileiro de Sistemas de Informação, pp. 347–354. SBC, Porto Alegre (2015). https://doi.org/10.5753/sbsi.2015.5836

  6. Chowdhury, M.I., Katchabaw, M.: Improving software quality through design patterns: a case study of adaptive games and auto dynamic difficulty. Game–ON 2012 (2012)

    Google Scholar 

  7. Christopoulou, A., Giakoumakis, E., Zafeiris, V.E., Soukara, V.: Automated refactoring to the strategy design pattern. Inf. Softw. Technol. 54(11), 1202–1214 (2012). https://doi.org/10.1016/j.infsof.2012.05.004

    Article  Google Scholar 

  8. Dong, J., Yang, S., Zhang, K.: Visualizing design patterns in their applications and compositions. IEEE Trans. Software Eng. 33(7), 433–453 (2007). https://doi.org/10.1109/TSE.2007.1012

    Article  Google Scholar 

  9. Elbaz, K., Chaoui, A.: An empirical study to improve software quality through design patterns. Int. J. Ind. Syst. Eng. 29(1), 74–94 (2018)

    Google Scholar 

  10. Estdale, J., Georgiadou, E.: Applying the ISO/IEC 25010 quality models to software product. In: Larrucea, X., Santamaria, I., O’Connor, R.V., Messnarz, R. (eds.) EuroSPI 2018. CCIS, vol. 896, pp. 492–503. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-97925-0_42

    Chapter  Google Scholar 

  11. Fontana, F., Zanoni, M., Marino, A., Mäntylä, M.: Code smell detection: towards a machine learning-based approach. In: 2013 IEEE International Conference on Software Maintenance, pp. 396–399 (2013)

    Google Scholar 

  12. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co. Inc., Boston (1995)

    MATH  Google Scholar 

  13. Guéhéneuc, Y.G., Antoniol, G.: Demima: a multilayered approach for design pattern identification. IEEE Trans. Software Eng. 34(5), 667–684 (2008). https://doi.org/10.1109/TSE.2008.48

    Article  Google Scholar 

  14. Izurieta, C., Bieman, J.M.: A multiple case study of design pattern decay, grime, and rot in evolving software systems. Software Qual. J. 21(2), 289–323 (2013). https://doi.org/10.1007/s11219-012-9175-x

    Article  Google Scholar 

  15. Jaafar, F., Guéhéneuc, Y.G., Hamel, S., Khomh, F., Zulkernine, M.: Evaluating the impact of design pattern and anti-pattern dependencies on changes and faults. Empirical Softw. Engg. 21(3), 896–931 (2016). https://doi.org/10.1007/s10664-015-9361-0

    Article  Google Scholar 

  16. Jaafar, F., Guéhéneuc, Y.G., Hamel, S., et al.: Analysing anti-patterns static relationships with design patterns. Electronic Communications of the EASST 59 (2014)

    Google Scholar 

  17. Khaer, M.A., Hashem, M., Masud, M.R.: On use of design patterns in empirical assessment of software design quality. In: 2008 International Conference on Computer and Communication Engineering, pp. 133–137. IEEE (2008)

    Google Scholar 

  18. Khomh, F., Guéhéneuc, Y.G.: Do design patterns impact software quality positively? In: 2008 12th European Conference on Software Maintenance and Reengineering, pp. 274–278. IEEE (2008)

    Google Scholar 

  19. Kitchenham, B.A., Charters, S.: Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE-2007-001. Keele University and Durham University Joint Report (2007)

    Google Scholar 

  20. Lanza, M., Marinescu, R.: Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems, 1st edn. Springer, Heidelberg (2010). https://doi.org/10.1007/3-540-39538-5

    Book  MATH  Google Scholar 

  21. Martin Fowler, K.B.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co. Inc, USA (1999)

    MATH  Google Scholar 

  22. McNatt, W.B., Bieman, J.M.: Coupling of design patterns: Common practices and their benefits. In: 25th Annual International Computer Software and Applications Conference, COMPSAC 2001, pp. 574–579. IEEE (2001)

    Google Scholar 

  23. Moha, N., Gueheneuc, Y.G., Duchien, L., Le Meur, A.F.: Decor: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36(1), 20–36 (2010). https://doi.org/10.1109/TSE.2009.50

    Article  MATH  Google Scholar 

  24. Muraki, T., Saeki, M.: Metrics for applying GOF design patterns in refactoring processes. In: Proceedings of the 4th International Workshop on Principles of Software Evolution, pp. 27–36. IWPSE 2001. Association for Computing Machinery, New York (2001). https://doi.org/10.1145/602461.602466

  25. Nahar, N., Sakib, K.: Automatic recommendation of software design patterns using anti-patterns in the design phase: a case study on abstract factory. In: QuASoQ/WAWSE/CMCE@ APSEC, pp. 9–16 (2015)

    Google Scholar 

  26. Nikolaeva, D., Bozhikova, V.: One approach to improve the software quality by applying software design patterns. In: 2019 16th Conference on Electrical Machines, Drives and Power Systems (ELMA), pp. 1–6. IEEE (2019)

    Google Scholar 

  27. Ozkaya, I., Bass, L., Sangwan, R., Nord, R.: Making practical use of quality attribute information. IEEE Softw. 25(2), 25–33 (2008). https://doi.org/10.1109/MS.2008.39

    Article  Google Scholar 

  28. Qamar, N., Malik, A.: Impact of design patterns on software complexity and size. Mehran Univ. Res. J. Eng. Technol. 39, 342–352 (2020). https://doi.org/10.22581/muet1982.2002.10

  29. Sandhu, P.S., Singh, P.P., Verma, A.K.: Evaluating quality of software systems by design patterns detection. In: 2008 International Conference on Advanced Computer Theory and Engineering, pp. 3–7. IEEE (2008)

    Google Scholar 

  30. Vokac, M.: Defect frequency and design patterns: an empirical study of industrial code. IEEE Trans. Softw. Eng. 30(12), 904–917 (2004). https://doi.org/10.1109/TSE.2004.99

    Article  Google Scholar 

  31. Wagey, B.C., Hendradjaya, B., Mardiyanto, M.S.: A proposal of software maintainability model using code smell measurement. In: 2015 International Conference on Data and Software Engineering (ICoDSE), pp. 25–30. IEEE (2015)

    Google Scholar 

  32. Weiss, M.: Patterns and their impact on system concerns. In: EuroPLoP (2008)

    Google Scholar 

  33. Wendorff, P.: Assessment of design patterns during software reengineering: lessons learned from a large commercial project. In: Proceedings of the Fifth European Conference on Software Maintenance and Reengineering, p. 77. CSMR 2001. IEEE Computer Society (2001)

    Google Scholar 

  34. Weyuker, E.: Evaluating software complexity measures. IEEE Trans. Softw. Eng. 14, 1357–1365 (1988). https://doi.org/10.1109/32.6178

    Article  MathSciNet  Google Scholar 

  35. Yang, S., Tzerpos, V.: A model for analysis and presentation of design pattern detection results. In: Proceedings of the 33rd Annual ACM Symposium on Applied Computing, pp. 1500–1509. SAC 2018. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3167132.3167292

  36. Yasir, R.M., Asad, M., Galib, A.H., Ganguly, K.K., Siddik, M.S.: GodExpo: an automated god structure detection tool for Golang. In: Proceedings of the 3rd International Workshop on Refactoring, pp. 47–50. IWOR 2019. IEEE Press (2019). https://doi.org/10.1109/IWoR.2019.00016

Download references

Acknowledgement

This research project is carried out under the support of the Russian Science Foundation Grant N\(^{\underline{o}}\) 19-19-00623.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gcinizwe Dlamini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Shilintsev, D., Dlamini, G. (2021). A Study: Design Patterns Detection Approaches and Impact on Software Quality. In: Succi, G., Ciancarini, P., Kruglov, A. (eds) Frontiers in Software Engineering. ICFSE 2021. Communications in Computer and Information Science, vol 1523. Springer, Cham. https://doi.org/10.1007/978-3-030-93135-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-93135-3_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-93134-6

  • Online ISBN: 978-3-030-93135-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics