Software design patterns classification and selection using text categorization approach

Shahid Hussain, Jacky Keung, Arif Ali Khan

Research output: Contribution to journalArticlepeer-review

61 Scopus citations

Abstract

Context Numerous software design patterns have been introduced and cataloged either as a canonical or a variant solution to solve a design problem. The existing automatic techniques for design pattern(s) selection aid novice software developers to select the more appropriate design pattern(s) from the list of applicable patterns to solve a design problem in the designing phase of software development life cycle. Goal However, the existing automatic techniques are limited to the semi-formal specification, multi-class problem, an adequate sample size to make precise learning and individual classifier training in order to determine a candidate design pattern class and suggest more appropriate pattern(s). Method To address these issues, we exploit a text categorization based approach via Fuzzy c-means (unsupervised learning technique) that targets to present a systematic way to group the similar design patterns and suggest the appropriate design pattern(s) to developers related to the specification of a given design problem. We also propose an evaluation model to assess the effectiveness of the proposed approach in the context of several real design problems and design pattern collections. Subsequently, we also propose a new feature selection method Ensemble-IG to overcome the multi-class problem and improve the classification performance of the proposed approach. Results The promising experimental results suggest the applicability of the proposed approach in the domain of classification and selection of appropriate design patterns. Subsequently, we also observed the significant improvement in learning precision of the proposed approach through Ensemble-IG. Conclusion The proposed approach has four advantages as compared to previous work. First, the semi-formal specification of design patterns is not required as a prerequisite; second, the ground reality of class label assignment is not mandatory; third, lack of classifier's training for each design pattern class and fourth, an adequate sample size is not required to make precise learning.

Original languageEnglish (US)
Pages (from-to)225-244
Number of pages20
JournalApplied Soft Computing Journal
Volume58
DOIs
StatePublished - Sep 1 2017

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Software design patterns classification and selection using text categorization approach'. Together they form a unique fingerprint.

Cite this