The Open UniversitySkip to content
 

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

Paixao, Matheus; Harman, Mark; Zhang, Yuanyuan and Yu, Yijun (2017). An Empirical Study of Cohesion and Coupling: Balancing Optimisation and Disruption. IEEE Transactions on Evolutionary Computation (In press).

Full text available as:
[img]
Preview
PDF (Accepted Manuscript) - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (551kB) | Preview
Google Scholar: Look up in Google Scholar

Abstract

Search based software engineering has been extensively applied to the problem of finding improved modular structures that maximise cohesion and minimise 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 remodularisation is usually overlooked. We present an empirical study of 233 sequential releases of 10 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 optimise 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 optimising 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 multi-objective evolutionary approach that minimises disruption while maximising cohesion/coupling improvement. This allows developers to balance reticence to disrupt existing modular structure, against their competing need to improve cohesion and coupling. The multi-objective 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).

Item Type: Journal Item
ISSN: 1089-778X
Keywords: Software Modularisation; Software Evolution; Multi-objective Search
Academic Unit/School: Faculty of Science, Technology, Engineering and Mathematics (STEM) > Computing and Communications
Faculty of Science, Technology, Engineering and Mathematics (STEM)
Interdisciplinary Research Centre: Centre for Policing Research and Learning (CPRL)
Centre for Research in Computing (CRC)
Item ID: 49002
Depositing User: Yijun Yu
Date Deposited: 23 Mar 2017 16:48
Last Modified: 03 Apr 2017 17:01
URI: http://oro.open.ac.uk/id/eprint/49002
Share this page:

Download history for this item

These details should be considered as only a guide to the number of downloads performed manually. Algorithmic methods have been applied in an attempt to remove automated downloads from the displayed statistics but no guarantee can be made as to the accuracy of the figures.

Actions (login may be required)

Policies | Disclaimer

© The Open University   + 44 (0)870 333 4340   general-enquiries@open.ac.uk