设计模式可以使软件开发者能够高质量地复用以往代码的解决方案,可以使开发者的开发效率大幅提高、开发质量大幅提升,并使软件更具有可读性、开发工作更标准化。然而,软件中一般会存在原始程序文档缺失、不准确,缺少从设计模式角度的描述信息,同时,以往的设计模式识别方案还不同程度地存在适用于大型软件的能力弱、分类区分度不高和过拟合等问题。因此,为了更方便地理解软件的设计思路,从软件源代码中将设计模式实例准确快速地识别出来是一项具有实际意义的工作,该工作也对识别软件中潜在的其它重要信息有重要指导作用。为解决以往的设计模式识别方案不适用于大型软件、分类区分度不高和过拟合等问题,本文提出了一种基于相似度评分的设计模式识别模型DPDM-SRM(Design Pattern Detection Model based on Similarity between Relation Matrices)和一种基于支持向量机的设计模式识别模型DPDM-SVM(Design Pattern Detection Model based on Support Vector Machine)。本文首先对两个模型的基本结构进行了论述,然后深入论述了模型的各个组成部分,并在基于P-MARt构建的数据集上进行了实验,DPDM-SRM模型的准确率等方面相比以往的设计模式识别方案有较大程度的提升,但受标准模型和角色阈值等主观因素的影响较大。DPDM-SVM则不受主观因素的影响,进一步提升了设计模式识别的效果。
暂无评论