TY - JOUR
T1 - Software design patterns classification and selection using text categorization approach
AU - Hussain, Shahid
AU - Keung, Jacky
AU - Khan, Arif Ali
N1 - Publisher Copyright:
© 2017 Elsevier B.V.
PY - 2017/9/1
Y1 - 2017/9/1
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85019135271&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85019135271&partnerID=8YFLogxK
U2 - 10.1016/j.asoc.2017.04.043
DO - 10.1016/j.asoc.2017.04.043
M3 - Article
AN - SCOPUS:85019135271
SN - 1568-4946
VL - 58
SP - 225
EP - 244
JO - Applied Soft Computing Journal
JF - Applied Soft Computing Journal
ER -