Using structural and semantic measures to improve software modularization

Using structural and semantic measures to improve software modularization
复制标题

DOI:
10.1007/s10664-012-9226-8
复制
发表时间:
2013-10
影响因子:
4.1
通讯作者:
G. Bavota;A. D. Lucia;Andrian Marcus;Rocco Oliveto
G. Bavota;A. D. Lucia;Andrian Marcus;Rocco Oliveto
中科院分区:
计算机科学2区
文献类型:
--
作者:
G. Bavota;A. D. Lucia;Andrian Marcus;Rocco Oliveto

文献摘要

被引文献

相似文献

软件发展过程中的变化和糟糕的设计决策通常会导致难以理解和维护的包,因为它们通常将具有无关职责的类组合在一起。改进这类包的一种方法是将它们分解成更小、更有凝聚力的包。困难之处在于,大多数衔接的定义和解释都相当模糊,而且研究者提出的众多措施通常只涵盖了衔接的一个方面。我们提出了一种新的包自动重新模块化技术,它使用结构和语义度量将包分解成更小、更有内聚力的包。本文提出了新的方法,并进行了实证研究,对新技术提出的分解方法进行了评价。评估结果表明,分解后的包具有更好的内聚力,而不会恶化耦合,并且该工具提出的重新模块化从功能的角度来看也是有意义的。
Changes during software evolution and poor design decisions often lead to packages that are hard to understand and maintain, because they usually group together classes with unrelated responsibilities. One way to improve such packages is to decompose them into smaller, more cohesive packages. The difficulty lies in the fact that most definitions and interpretations of cohesion are rather vague and the multitude of measures proposed by researchers usually capture only one aspect of cohesion. We propose a new technique for automatic re-modularization of packages, which uses structural and semantic measures to decompose a package into smaller, more cohesive ones. The paper presents the new approach as well as an empirical study, which evaluates the decompositions proposed by the new technique. The results of the evaluation indicate that the decomposed packages have better cohesion without a deterioration of coupling and the re-modularizations proposed by the tool are also meaningful from a functional point of view.