软件设计模式违反的识别与评估
软件工程
2019-08-20 v1
摘要
在快速开发环境中,作为再工程过程的一部分,对设计模式实现进行验证以识别模式违反,对于保护、扩展和复用软件项目已变得更为重要。如果设计模式实现不符合其定义,则被视为违反。软件老化和开发人员经验不足是设计模式违反的根源。针对一些预定义特征检查设计模式实现的正确性以检测和纠正违反,从而降低成本,这一点很重要。目前,已开发若干工具来检测设计模式实例,但在创建自动识别并验证设计模式违反的工具方面工作甚少。在本文中,我们提出一个设计模式违反识别与评估(DPVIA)工具,它能够识别软件设计模式违反,并针对任意设计模式定义(无论是Gamma等人[1]的Gang of Four (GoF)设计模式,还是软件开发人员的自定义模式)报告模式实例实现相对于一组预定义特征的符合度评分。此外,我们使用两个评估实验验证了所提工具的有效性,并人工检查了结果。最后,为了评估所提工具的功能,使用一个包含15个开源项目中28,669个文件共5,679,964行代码的数据集对其进行评估,这些开源项目广泛且系统地使用了设计模式,涵盖大型和小型规模,以确定设计模式违反并建议重构方案,从而保持软件演进成本。结果可供软件架构师在使用设计模式时制定最佳实践。
引用
@article{arxiv.1906.01419,
title = {Identification and Assessment of Software Design Pattern Violations},
author = {Tamer Abdelaziz and Aya Sedky and Bruno Rossi and Mostafa-Sami M. Mostafa},
journal= {arXiv preprint arXiv:1906.01419},
year = {2019}
}
备注
25 pages, 9 figures and 9 tables