Automated framework for classification and selection of software design patterns

Shahid Hussain, Jacky Keung, Muhammad Khalid Sohail, Arif Ali Khan, Manzoor Ilahi

Research output: Contribution to journalArticlepeer-review

34 Scopus citations


Though, Unified Modeling Language (UML), Ontology, and Text categorization approaches have been used to automate the classification and selection of design pattern(s). However, there are certain issues such as time and effort for formal specification of new patterns, system context-awareness, and lack of knowledge which needs to be addressed. We propose a framework (i.e. Three-phase method) to discuss these issues, which can aid novice developers to organize and select the correct design pattern(s) for a given design problem in a systematic way. Subsequently, we propose an evaluation model to gauge the efficacy of the proposed framework via certain unsupervised learning techniques. We performed three case studies to describe the working procedure of the proposed framework in the context of three widely used design pattern catalogs and 103 design problems. We find the significant results of Fuzzy c-means and Partition Around Medoids (PAM) as compared to other unsupervised learning techniques. The promising results encourage the applicability of the proposed framework in terms of design patterns organization and selection with respect to a given design problem.

Original languageEnglish (US)
Pages (from-to)1-20
Number of pages20
JournalApplied Soft Computing Journal
StatePublished - Feb 2019

All Science Journal Classification (ASJC) codes

  • Software


Dive into the research topics of 'Automated framework for classification and selection of software design patterns'. Together they form a unique fingerprint.

Cite this