The Process of Verifying the Implementation of Design Patterns—Used Data Models

  • Rafał WojszczykEmail author
  • Włodzimierz Khadzhynov
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 521)


Although the design patterns constitute the issue that has been widely discussed in the literature and used by many software developers, there is no formal control over them. The article discussed the problem of verifying the implementation of design patterns applied in object-oriented programming. Two following data models were distinguished in the process of verification: a formal representation that is an equivalent of the analysed software, and a repository of implementation of patterns containing information describing the implementation of design patterns. The proposed solution will make it possible to show implementation errors and potential problems.


Design patterns Verifying implementation Object-oriented programming 


  1. 1.
    Kerievsky, J.: Refactoring to Patterns. Addison-Wesley Professional, Boston (2004)CrossRefGoogle Scholar
  2. 2.
    Fowler, M., et al.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (1999)zbMATHGoogle Scholar
  3. 3.
    Pavlic, L. et al.: Improving design pattern adoption with ontology-based design pattern repository. Informatica Int. J. Comput. Inform. 33. Ljubljana (2009)Google Scholar
  4. 4.
    Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1994)Google Scholar
  5. 5.
    McConnell, S.: Code Complete: A Practical Handbook of Software Construction, 2nd edn. Microsoft Press (2004)Google Scholar
  6. 6.
    Martin, R.C., Martin, M.: Agile Principles, Patterns, and Practices in C#. Prentice Hall, New Jersey (2006)Google Scholar
  7. 7.
    Tsantalis, N. et al.: Design pattern detection using similarity scoring. IEEE Trans. Softw. Eng. 32(11) 896–908 (2006)Google Scholar
  8. 8.
    Singh Rao, R., Gupta, M.: Design pattern detection by greedy algorithm using inexact graph matching. Int. J. Eng. Comput. Sci. 2(10), 3658–3664 (2013)Google Scholar
  9. 9.
    Binun, A.: High accuracy design pattern detection. Ph.D. thesis, Rheinischen Friedrich-Wilhelms-Universitat Bonn (2012)Google Scholar
  10. 10.
    Ackerman, L., Gonzalez, C.: Patterns-Based Engineering: Successfully Delivering Solutions via Patterns. Addison-Wesley Professional, Boston (2010)Google Scholar
  11. 11.
    Blewitt, A.: Spine: language for pattern verification. Design Patterns Formalization Techniques. IGI Global, Hershey (2007)Google Scholar
  12. 12.
    Khaer, MdA, et al.: An Empirical Analysis of Software Systems for Measurement of Design Quality Level Based on Design Patterns. Computer and Information Technology, IEEE (2007)CrossRefGoogle Scholar
  13. 13.
    Hernandez, J., et al.: Selection of metrics for predicting the appropriate application of design patterns. In: 2nd Asian Conference on Pattern Languages of Programs (2011)Google Scholar
  14. 14.
    Welty, C.: Ontology research. AI Mag. 24(3) (2003)Google Scholar
  15. 15.
    Podsiadły-Marczykowska, T., et al.: Rule-Based Algorithm Transforming OWL Ontology Into Relational Database. Beyond Databases, Architectures, and Structures, vol. 424. Communications in Computer and Information Science, Springer, Berlin (2014)Google Scholar
  16. 16.
    Rasool, G.: Customizable feature based design pattern recognition integrating multiple techniques. Ph.D. thesis, Technische Universitat Ilmenau, Ilmenau (2010)Google Scholar
  17. 17.
    Walter, S.: Code Structure Definition and Verification. CSCUBS Proceedings, Bonn (2014)Google Scholar
  18. 18.
    Wojszczyk, R.: The model and function of quality assessment of implementation of design patterns. Appl. Comput. Sci. 11(3). Institute of Technological Systems of Information, Lublin University of Technology, Lublin (2015)Google Scholar
  19. 19.
    Suslow, W.: Analiza i modelowanie konceptualne w inzynierii systemów oprogramowania—ujęcie humanistyczne. Wydawnictwo Uczelniane Politechniki Koszalińskiej, Koszalin, (2013)Google Scholar
  20. 20.
    Shamailh, A.A.: An experimental comparison of ER and UML class diagrams. Int. J. Hybrid Inf. Technol. 8(2), 279–288 (2015)CrossRefGoogle Scholar
  21. 21.
    Grzanek, K.: Realizacja systemu wyszukiwania wystąpień wzorców projektowych w oprogramowaniu przy zastosowaniu metod analizy statycznej kodu źródłowego. Ph.D. thesis, Politechnika Częstochowska, Łódz (2008)Google Scholar
  22. 22.
    Kirasić, D., Basch, D.: Ontology-Based Design Pattern Recognition. Knowledge-Based Intelligent Information and Engineering Systems, Zagreb (2008)CrossRefGoogle Scholar
  23. 23.
    Troelsen, A.: Pro C# 2008 and the .NET 3.5 Platform. Apress, New York (2007)Google Scholar
  24. 24.
    De Lucia, A., et al.: Design pattern recovery through visual language parsing and source code analysis. J. Syst. Softw. Arch. 82(7). Elsevier Science Inc, New York (2009)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Departament of Computer Science and ManagementKoszalin University of TechnologyKoszalinPoland

Personalised recommendations