摘要
本文提出一种基于分层架构模式识别的软件架构重构技术.该技术以目标软件的源代码作为输入,过滤与分层架构无关的代码,再利用代码词汇信息挖掘程序实体之间的语义关联,通过代码主题提取并计算程序实体之间的职责相似度,依据相似度将程序实体聚类形成组件.在软件组件化的基础上结合分层模式的ILD属性识别软件层次和软件架构模式.在模式识别的基础上,定位系统中存在的违规作为重构点,生成相应的重构建议并实施重构.最后,本文在Github与SourceForge开源社区中选取10个开源软件系统作为实验对象,验证了本文提出的基于分层架构模式识别的软件架构重构技术在模式识别有效性、重构点识别效果和重构建议实施效果方面与传统方法相比有较大提升,能够有效的帮助软件开发人员识别软件架构模式、获取重构点、生成重构建议,并协助开发人员进行架构重构实施,改善系统违规情况,提升软件质量.
-
单位江苏自动化研究所; 东南大学