当前位置: X-MOL 学术J. Softw. Evol. Process › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A study of behavioral decay in design patterns
Journal of Software: Evolution and Process ( IF 2 ) Pub Date : 2023-11-21 , DOI: 10.1002/smr.2638
Derek Reimanis 1 , Clemente Izurieta 1, 2
Affiliation  

Design patterns represent a means of communicating reusable solutions to common problems, provided they are implemented and maintained correctly. However, many design pattern instances erode as they age, sacrificing qualities they once provided. Identifying such instances of pattern decay is valuable because it allows for proactive attempts to extend the longevity and quality attributes of pattern components. Apart from structural decay, design patterns can exhibit symptoms of behavioral decay. We utilized a taxonomy that characterizes these negative behaviors and designed a case study wherein we measured structural and behavioral decay, hereafter referred to as pattern grime, as well as pattern quality and size, across pattern evolutions. We evaluated the relationships between structural and behavioral grime and found statistically significant cases of strong correlations between specific types of structural and behavioral grime. Furthermore, we extended the QATCH operational software quality model to incorporate design pattern evolution metrics and measured and correlated software quality to the presence of behavioral grime in software systems. Our results suggest a strong inverse relationship between software quality and behavioral grime.

中文翻译:

设计模式中行为衰退的研究

设计模式代表了一种针对常见问题传达可重用解决方案的方法,前提是它们得到正确的实现和维护。然而,许多设计模式实例会随着时间的推移而受到侵蚀,从而牺牲了它们曾经提供的品质。识别此类模式衰减实例很有价值,因为它允许主动尝试延长模式组件的寿命和质量属性。除了结构衰退之外,设计模式还可能表现出行为衰退的症状。我们利用一种分类法来表征这些负面行为,并设计了一个案例研究,其中我们测量了结构和行为衰退(以下称为模式污垢),以及模式演化过程中的模式质量和大小。我们评估了结构污垢和行为污垢之间的关系,并发现特定类型的结构污垢和行为污垢之间存在强相关性的统计显着案例。此外,我们扩展了 QATCH 操作软件质量模型,将设计模式演变指标纳入其中,并测量软件质量并将其与软件系统中行为污垢的存在相关联。我们的结果表明软件质量和行为污垢之间存在很强的反比关系。
更新日期:2023-11-26
down
wechat
bug