eprintid: 1576532
rev_number: 26
eprint_status: archive
userid: 608
dir: disk0/01/57/65/32
datestamp: 2017-10-02 13:00:20
lastmod: 2021-09-26 22:33:02
status_changed: 2017-10-02 13:00:20
type: article
metadata_visibility: show
creators_name: Paixao, M
creators_name: Harman, M
creators_name: Zhang, Y
creators_name: Yu, Y
title: An Empirical Study of Cohesion and Coupling: Balancing Optimisation and Disruption
ispublished: pub
divisions: UCL
divisions: B04
divisions: C05
divisions: F48
keywords: software modularisation, software evolution, multiobjective search, Couplings, Measurement, Software engineering, Software systems, Evolutionary computation, Optimization
note: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
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 re-modularisation 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 multiobjective 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 multiobjective 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).
date: 2018-06
date_type: published
official_url: https://doi.org/10.1109/TEVC.2017.2691281
oa_status: green
full_text_type: other
language: eng
primo: open
primo_central: open_green
article_type_text: Article
verified: verified_manual
elements_id: 1425888
doi: 10.1109/TEVC.2017.2691281
lyricists_name: Esteves Paixao, Matheus
lyricists_name: Harman, Mark
lyricists_id: MPAIX74
lyricists_id: MHARM36
actors_name: Harman, Mark
actors_name: Flynn, Bernadette
actors_id: MHARM36
actors_id: BFFLY94
actors_role: owner
actors_role: impersonator
full_text_status: public
publication: IEEE Transactions on Evolutionary Computation
volume: 22
number: 3
pagerange: 394-414
issn: 1941-0026
citation:        Paixao, M;    Harman, M;    Zhang, Y;    Yu, Y;      (2018)    An Empirical Study of Cohesion and Coupling: Balancing Optimisation and Disruption.                   IEEE Transactions on Evolutionary Computation , 22  (3)   pp. 394-414.    10.1109/TEVC.2017.2691281 <https://doi.org/10.1109/TEVC.2017.2691281>.       Green open access   
 
document_url: https://discovery.ucl.ac.uk/id/eprint/1576532/1/Paixao_Empirical_study_cohesion.pdf