Design Pattern Detection Approach Based on Stacked Generalization

被引:0
|
作者
Feng T. [1 ,3 ]
Jin L. [2 ]
Zhang J.-C. [1 ]
Wang H.-Y. [1 ]
机构
[1] College of Computer Science and Technology, Jilin University, Changchun
[2] College of Software, Jilin University, Changchun
[3] Key Laboratory of Symbolic Computation and Knowledge Engineering, Jilin University, Ministry of Education, Changchun
来源
Ruan Jian Xue Bao/Journal of Software | 2020年 / 31卷 / 06期
基金
中国国家自然科学基金;
关键词
Design pattern detection; Machine learning; Object-oriented software metric; Pattern micro-structure; Stacked generalization;
D O I
10.13328/j.cnki.jos.005847
中图分类号
学科分类号
摘要
Design pattern detection plays an important role in understanding and maintaining software system. With the purpose of identifying variants of design pattern efficiently and improving the accuracy of design pattern detection, an approach of design pattern detection based on stacked generalization in combination with object-oriented software metrics and pattern micro-structures is proposed in this study. Applying some typical machine learning algorithms, the approach trains a metric classifier and a micro-structure classifier for each design pattern, after which a stacked classifier is further trained and constructed on the predictive values of the two classifiers and some related object modeling features. To evaluate the proposed approach, a prototype tool, namely OOSdpd, is developed to detect design pattern instances from Java bytecode files of a system. The experiments on several classic open source projects are carried out, such as JUnit etc., and the proposed approach is compared with two existing tools. Experiments prove the effectiveness of the proposed approach in terms of improving the accuracy and recall rate of design pattern detection. © Copyright 2020, Institute of Software, the Chinese Academy of Sciences. All rights reserved.
引用
收藏
页码:1703 / 1722
页数:19
相关论文
共 36 条
  • [31] Fontana FA, Maggioni S, Raibulet C., Design patterns: A survey on their micro-structures, Journal of Software: Evolution and Process, 25, 1, pp. 27-52, (2013)
  • [32] Fontana FA, Maggioni S, Raibulet C., Understanding the relevance of micro-structures for design patterns detection, Journal of Systems and Software, 84, 12, pp. 2334-2347, (2011)
  • [33] Gueheneuc YG., P-Mart: Pattern-like micro architecture repository, Proc. of the 1st EuroPLoP Focus Group on Pattern Repositories, pp. 1-3, (2007)
  • [34] Fontana FA, Caracciolo A, Zanoni M., DPB: A benchmark for design pattern detection tools, Proc. of the 16th European Conf. on Software Maintenance and Reengineering (CSMR), pp. 235-244, (2012)
  • [35] Ampatzoglou A, Michou O, Stamelos I., Building and mining a repository of design pattern instances: Practical and research benefits, Entertainment Computing, 4, 2, pp. 131-142, (2013)
  • [36] Pettersson N, Lowe W, Nivre J., Evaluation of accuracy in design pattern occurrence detection, IEEE Trans. on Software Engineering, 36, 4, pp. 575-590, (2010)