当前位置: X-MOL 学术Int. J. Softw. Eng. Knowl. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A General Framework to Detect Design Patterns by Combining Static and Dynamic Analysis Techniques
International Journal of Software Engineering and Knowledge Engineering ( IF 0.6 ) Pub Date : 2021-02-07 , DOI: 10.1142/s0218194021400027
Cong Liu 1
Affiliation  

Design pattern detection can provide useful insights to support software comprehension. Accurate and complete detection of pattern instances are extremely important to enable software usability improvements. However, existing design pattern detection approaches and tools suffer from the following problems: incomplete description of design pattern instances, inaccurate behavioral constraint checking, and inability to support novel design patterns. This paper presents a general framework to detect design patterns while solving these issues by combining static and dynamic analysis techniques. The framework has been instantiated for typical behavioral and creational patterns, such as the observer pattern, state pattern, strategy pattern, and singleton pattern to demonstrate the applicability. Based on the open-source process mining toolkit ProM, we have developed an integrated tool that supports the whole detection process for these patterns. We applied and evaluated the framework using software execution data containing around 1,000,000 method calls generated from eight synthetic software systems and three open-source software systems. The evaluation results show that our approach can guarantee a higher precision and recall than existing approaches and can distinguish state and strategy patterns that are indistinguishable by the state-of-the-art.

中文翻译:

通过结合静态和动态分析技术检测设计模式的通用框架

设计模式检测可以提供有用的见解来支持软件理解。模式实例的准确和完整检测对于实现软件可用性改进极为重要。然而,现有的设计模式检测方法和工具存在以下问题:设计模式实例描述不完整、行为约束检查不准确以及无法支持新的设计模式。本文提出了一个通用框架来检测设计模式,同时通过结合静态和动态分析技术来解决这些问题。该框架已针对典型的行为和创建模式进行了实例化,例如观察者模式、状态模式、策略模式和单例模式,以展示其适用性。基于开源流程挖掘工具包ProM,我们开发了一个集成工具,支持这些模式的整个检测过程。我们使用包含从八个合成软件系统和三个开源软件系统生成的大约 1,000,000 个方法调用的软件执行数据来应用和评估该框架。评估结果表明,我们的方法可以保证比现有方法更高的精度和召回率,并且可以区分最先进技术无法区分的状态和策略模式。
更新日期:2021-02-07
down
wechat
bug