内聚与耦合的实证研究:优化与破坏的平衡

An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption

IEEE Transactions on Evolutionary Computation · 2017
被引 37
ABS 4

中文导读

研究了10个系统233个版本中开发者实现的内聚与耦合优化,发现开发者虽尊重优化函数但仍有25%改进空间,同时优化会破坏57%以上结构,因此提出多目标进化方法平衡改进与破坏。

Abstract

Search-based software engineering has been extensively applied to the problem of finding improved modular structures that maximize cohesion and minimize coupling. However, there has, hitherto, been no longitudinal study of developers' implementations, over a series of sequential releases. Moreover, results validating whether developers respect the fitness functions are scarce, and the potentially disruptive effect of search-based remodularization is usually overlooked. We present an empirical study of 233 sequential releases of ten different systems; the largest empirical study reported in the literature so far, and the first longitudinal study. Our results provide evidence that developers do, indeed, respect the fitness functions used to optimize cohesion/coupling (they are statistically significantly better than arbitrary choices with p ≪ 0.01), yet they also leave considerable room for further improvement (cohesion/coupling can be improved by 25% on average). However, we also report that optimizing the structure is highly disruptive (on average more than 57% of the structure must change), while our results reveal that developers tend to avoid such disruption. Therefore, we introduce and evaluate a multiobjective (MO) evolutionary approach that minimizes disruption while maximizing cohesion/coupling improvement. This allows developers to balance reticence to disrupt existing modular structure, against their competing need to improve cohesion and coupling. The MO approach is able to find modular structures that improve the cohesion of developers' implementations by 22.52%, while causing an acceptably low level of disruption (within that already tolerated by developers).

软件工程模块化设计搜索式软件工程多目标优化