Soft Computing

, Volume 23, Issue 24, pp 13433–13448 | Cite as

A methodology to rank the design patterns on the base of text relevancy

  • Shahid HussainEmail author
  • Jacky Keung
  • Mohammad Khalid Sohail
  • Arif Ali KhanEmail author
  • Manzoor Ilahi
  • Ghufran Ahmad
  • Muhammad Rafiq Mufti
  • Muhammad Asim Noor
Methodologies and Application


Several software design patterns have cataloged either with canonical or as variants to solve a recurring design problem. However, novice designers mostly adopt patterns without considering their ground reality and relevance to design problems, which causes to increase the development and maintenance efforts. The existing automated systems to select the design patterns need either high computing effort and time for the formal specification or precise learning through the training of several classifiers with large sample size to select the right design patterns realized on the base of their ground reality. In order to discuss this issue, we propose a method on the base of a supervised learning technique named ‘Learning to Rank’, to rank the design patterns via the text relevancy with the description of the given design problems. Subsequently, we also propose an evaluation model to assess the effectiveness of the proposed method. We evaluate the efficacy of the proposed method in the context of several design pattern collections and relevant design problems. The promising experimental results indicate the applicability of the proposed method as a recommendation system to select the right design pattern(s).


Software design patterns Text mining Learning to rank Performance Classification 


Compliance with ethical standards

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Informed consent

Since in the article there is no human involvement for data gathering, consequently informed consent is not required.


  1. Baraki H et al (2015) Interdisciplinary design patterns for socially aware computing. In: Proceeding of 37th international conference on software engineering (ICSE)Google Scholar
  2. Bass L, Clements P, Kazman R (2012) Software architecture in practice, 3rd edn. Addison-Wesley Professional, BostonGoogle Scholar
  3. Birukou A (2010) A survey of existing approaches for pattern search and selection. In: Proceeding of PLoPGoogle Scholar
  4. Blomqvist E (2008) Pattern ranking for semiautomatic ontology construction. In: Proceedings of SACGoogle Scholar
  5. Booch G (2006) Handbook of software architecture, 2004. IBM Corporation.
  6. Bouhours C, Leblance H, Percebois C (2015) Spoiled patterns: how to extend the GoF. Softw Qual J 23:661–694CrossRefGoogle Scholar
  7. Buschmann F, Henney K, Schmidt DC (2007a) Pattern-oriented software architecture, vol 4. A pattern language for distributed computing. Wiley, New YorkGoogle Scholar
  8. Buschmann F, Henney K, Schmidt DC (2007b) Pattern-oriented software architecture, vol 5. On patterns and pattern languages. Wiley, New YorkGoogle Scholar
  9. Douglass BP (2002) Real-time design patterns: robust scalable architecture for real-time systems. Addison-Wesley, BostonGoogle Scholar
  10. Duyne V et al (2003) The design of sites: patterns, principles and processes for crafting a customer-centered web experience. Addison Wesley, BostonGoogle Scholar
  11. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, BostonzbMATHGoogle Scholar
  12. Hasheminejad SMH, Jalili S (2012) Design patterns selection: an automatic two-phase method. J Syst Softw 85:408–424CrossRefGoogle Scholar
  13. Hasso S, Carlson CR (2005) A theoretically-based process for organizing design patterns. In: Proceedings of 12th pattern language of patternsGoogle Scholar
  14. Henninger S, Correa V (2007) Software pattern communities: current practices and challenges. In: Proceedings of the 14th conference on pattern languages of programsGoogle Scholar
  15. Hotho A, Nurnberger A, Paab G (2005) A brief survey of text mining. J Comput Linguist Lang Technol 20:19–62Google Scholar
  16. Hsueh NL, Kuo J-Y, Lin C-C (2007) Object-oriented design: a goal-driven and pattern-based approach. J Softw Syst Model 8(1):1–18Google Scholar
  17. Huang A (2008) Similarity measures for text document clustering. In: Proceedings of NZCSRSCGoogle Scholar
  18. Hussain S et al (2016) A methodology to automate the selection of design patterns. In: Proceeding of 40th annual computer software and applications conference (COMPSAC)Google Scholar
  19. Hussain S, Keung J, Khan AA (2017a) Software design patterns classification and selection using text categorization approach. Appl Soft Comput 58:225–244CrossRefGoogle Scholar
  20. Hussain S, Keung J, Khan AA (2017) A framework for ranking of software design patterns. In: Proceedings of 11th international conference on complex, intelligent, and software intensive systems, Jul 10–12, 2017Google Scholar
  21. Issaoui I, Bouassida N, Abdallah HB (2015) A new approach for interactive design pattern recommendation. Lect Notes Softw Eng 3(3):173CrossRefGoogle Scholar
  22. Khoury PE, Mokhtari A, Coquery E, Hacid MS (2008) An ontological interface for software developers to select security patterns. In: Proceedings of 19th international conference on database and expert systems application, (DEXA’08), pp 297–301Google Scholar
  23. Kim DK, Khawand CE (2007) An approach to precisely specifying the problem domain of design patterns. J Vis Lang Comput 18:560–591CrossRefGoogle Scholar
  24. Kim DK, Shen W (2008) Evaluating pattern conformance of UML models: a divide and conquer approach and case studies. Softw Qual J 16(3):329–359CrossRefGoogle Scholar
  25. Kircher M, Jain O (2004) Pattern-oriented software architecture, vol 3. Patterns for resource management. Wiley, New YorkGoogle Scholar
  26. Li H (2011) A short introduction to ‘learning to rank’. IEICE Trans Inf Syst 94(10):1854–1862CrossRefGoogle Scholar
  27. Medhat W, Hassan A, Korashy H (2014) Sentiment analysis algorithms and applications: a survey. Ain Shams Eng J 5:1093–1113CrossRefGoogle Scholar
  28. Metzler D, Croft WB (2007) Linear feature-based models for information retrieval. Inf Retr 10(3):257–274CrossRefGoogle Scholar
  29. Palma F, Farzin H, Gueheneuc Y-G (2012) Recommendation system for design patterns in software development: an DRP Ovrview. In: Proceeding of RSSEGoogle Scholar
  30. Schmidt DC, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture, vol 2. Patterns for concurrent and networked objects. Wiley, New YorkzbMATHGoogle Scholar
  31. Schumacher M, Fernandez E, Hybertson D, Buschmann F (2006) Security patterns: integrating security and systems engineering. Wiley, New YorkGoogle Scholar
  32. Shalloway A, Trott R (2001) Design pattern explained: a new perspective on object oriented design. Addison Wesley, BostonGoogle Scholar
  33. Silberschatz A, Galvin PB, Gagne G (2002) Operating System Concepts, 6th edn. Wiley, USAzbMATHGoogle Scholar
  34. Uysal AK (2016) An improved global feature selection scheme for text classification. Expert Syst Appl 43:82–92CrossRefGoogle Scholar
  35. van Welie M (2006) Patterns in interaction design. Updated: 27 June 2006
  36. Velasco-Elizondo P, Marin-Pina R, Vazquez-Reyes S, Mora-Soto A, Mejia J (2016) Knowledge representation and information extraction for analyzing architectural patterns. Sci Comput Program 121:176–189CrossRefGoogle Scholar
  37. Wood WG (2007) A practical example of applying attribute-driven design (ADD), version 2.0, technical report, SE InstituteGoogle Scholar
  38. Wu Q, Burges CJC, Svore K, Gao J (2007) Adapting boosting for information retrieval measures. J Inf Retr 13(3):254–270CrossRefGoogle Scholar
  39. Xu J, Li H (2007) AdaRank: a boosting algorithm for information retrieval. In: Proceedings of SIGIR, pp 391–398Google Scholar
  40. Zhang C, Wu X, Niu Z, Ding W (2014) Authorship identification from unstructured texts. Knowl Based Syst 66:99–111CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  • Shahid Hussain
    • 1
    Email author
  • Jacky Keung
    • 2
  • Mohammad Khalid Sohail
    • 1
  • Arif Ali Khan
    • 3
    Email author
  • Manzoor Ilahi
    • 1
  • Ghufran Ahmad
    • 1
  • Muhammad Rafiq Mufti
    • 4
  • Muhammad Asim Noor
    • 1
  1. 1.CUIslamabadPakistan
  2. 2.City University of Hong KongHong KongChina
  3. 3.Nanjing UniversityNanjingChina
  4. 4.CUVehariPakistan

Personalised recommendations