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

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. Moreo...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on evolutionary computation 2018-06, Vol.22 (3), p.394-414
Hauptverfasser: Paixao, Matheus, Harman, Mark, Zhang, Yuanyuan, Yu, Yijun
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 414
container_issue 3
container_start_page 394
container_title IEEE transactions on evolutionary computation
container_volume 22
creator Paixao, Matheus
Harman, Mark
Zhang, Yuanyuan
Yu, Yijun
description 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\ll 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).
doi_str_mv 10.1109/TEVC.2017.2691281
format Article
fullrecord <record><control><sourceid>crossref_RIE</sourceid><recordid>TN_cdi_ieee_primary_7892940</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>7892940</ieee_id><sourcerecordid>10_1109_TEVC_2017_2691281</sourcerecordid><originalsourceid>FETCH-LOGICAL-c308t-24884b4e0f5bdc67c8093587b846b38c46172cdd23bcca74bdb08c1c724efd793</originalsourceid><addsrcrecordid>eNo9kMtOwzAURC0EEqXwAYiNfyDlXseNbXYQykOqVAkKYhf5FTBKkyhOF-XrSdTCamakmVkcQi4RZoigrteL93zGAMWMZQqZxCMyQcUxAWDZ8eBBqkQI-XFKzmL8BkA-RzUhL7c1XWza0AWrK_rab92ONiXNmy8fQ1NTXbshbNsq1J839E5XuraDpau2D5vwo_u_0n2I3bYd4zk5KXUV_cVBp-TtYbHOn5Ll6vE5v10mNgXZJ4xLyQ33UM6Ns5mwElQ6l8JInplUWp6hYNY5lhprteDGGZAWrWDcl06odEpw_2u7JsbOl0XbhY3udgVCMUIpRijFCKU4QBk2V_tN8N7_94VUTHFIfwHSGl6Q</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption</title><source>IEEE/IET Electronic Library (IEL)</source><creator>Paixao, Matheus ; Harman, Mark ; Zhang, Yuanyuan ; Yu, Yijun</creator><creatorcontrib>Paixao, Matheus ; Harman, Mark ; Zhang, Yuanyuan ; Yu, Yijun</creatorcontrib><description>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 &lt;inline-formula&gt; &lt;tex-math notation="LaTeX"&gt;{p\ll 0.01} &lt;/tex-math&gt;&lt;/inline-formula&gt;), 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).</description><identifier>ISSN: 1089-778X</identifier><identifier>EISSN: 1941-0026</identifier><identifier>DOI: 10.1109/TEVC.2017.2691281</identifier><identifier>CODEN: ITEVF5</identifier><language>eng</language><publisher>IEEE</publisher><subject>Couplings ; Evolutionary computation ; Measurement ; Multiobjective (MO) search ; Optimization ; Software engineering ; software evolution ; software modularization ; Software systems</subject><ispartof>IEEE transactions on evolutionary computation, 2018-06, Vol.22 (3), p.394-414</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c308t-24884b4e0f5bdc67c8093587b846b38c46172cdd23bcca74bdb08c1c724efd793</citedby><cites>FETCH-LOGICAL-c308t-24884b4e0f5bdc67c8093587b846b38c46172cdd23bcca74bdb08c1c724efd793</cites><orcidid>0000-0002-1775-7259 ; 0000-0002-7154-8570</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/7892940$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27901,27902,54733</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/7892940$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Paixao, Matheus</creatorcontrib><creatorcontrib>Harman, Mark</creatorcontrib><creatorcontrib>Zhang, Yuanyuan</creatorcontrib><creatorcontrib>Yu, Yijun</creatorcontrib><title>An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption</title><title>IEEE transactions on evolutionary computation</title><addtitle>TEVC</addtitle><description>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 &lt;inline-formula&gt; &lt;tex-math notation="LaTeX"&gt;{p\ll 0.01} &lt;/tex-math&gt;&lt;/inline-formula&gt;), 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).</description><subject>Couplings</subject><subject>Evolutionary computation</subject><subject>Measurement</subject><subject>Multiobjective (MO) search</subject><subject>Optimization</subject><subject>Software engineering</subject><subject>software evolution</subject><subject>software modularization</subject><subject>Software systems</subject><issn>1089-778X</issn><issn>1941-0026</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2018</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNo9kMtOwzAURC0EEqXwAYiNfyDlXseNbXYQykOqVAkKYhf5FTBKkyhOF-XrSdTCamakmVkcQi4RZoigrteL93zGAMWMZQqZxCMyQcUxAWDZ8eBBqkQI-XFKzmL8BkA-RzUhL7c1XWza0AWrK_rab92ONiXNmy8fQ1NTXbshbNsq1J839E5XuraDpau2D5vwo_u_0n2I3bYd4zk5KXUV_cVBp-TtYbHOn5Ll6vE5v10mNgXZJ4xLyQ33UM6Ns5mwElQ6l8JInplUWp6hYNY5lhprteDGGZAWrWDcl06odEpw_2u7JsbOl0XbhY3udgVCMUIpRijFCKU4QBk2V_tN8N7_94VUTHFIfwHSGl6Q</recordid><startdate>20180601</startdate><enddate>20180601</enddate><creator>Paixao, Matheus</creator><creator>Harman, Mark</creator><creator>Zhang, Yuanyuan</creator><creator>Yu, Yijun</creator><general>IEEE</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-1775-7259</orcidid><orcidid>https://orcid.org/0000-0002-7154-8570</orcidid></search><sort><creationdate>20180601</creationdate><title>An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption</title><author>Paixao, Matheus ; Harman, Mark ; Zhang, Yuanyuan ; Yu, Yijun</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c308t-24884b4e0f5bdc67c8093587b846b38c46172cdd23bcca74bdb08c1c724efd793</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2018</creationdate><topic>Couplings</topic><topic>Evolutionary computation</topic><topic>Measurement</topic><topic>Multiobjective (MO) search</topic><topic>Optimization</topic><topic>Software engineering</topic><topic>software evolution</topic><topic>software modularization</topic><topic>Software systems</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Paixao, Matheus</creatorcontrib><creatorcontrib>Harman, Mark</creatorcontrib><creatorcontrib>Zhang, Yuanyuan</creatorcontrib><creatorcontrib>Yu, Yijun</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE/IET Electronic Library (IEL)</collection><collection>CrossRef</collection><jtitle>IEEE transactions on evolutionary computation</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Paixao, Matheus</au><au>Harman, Mark</au><au>Zhang, Yuanyuan</au><au>Yu, Yijun</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption</atitle><jtitle>IEEE transactions on evolutionary computation</jtitle><stitle>TEVC</stitle><date>2018-06-01</date><risdate>2018</risdate><volume>22</volume><issue>3</issue><spage>394</spage><epage>414</epage><pages>394-414</pages><issn>1089-778X</issn><eissn>1941-0026</eissn><coden>ITEVF5</coden><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 &lt;inline-formula&gt; &lt;tex-math notation="LaTeX"&gt;{p\ll 0.01} &lt;/tex-math&gt;&lt;/inline-formula&gt;), 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).</abstract><pub>IEEE</pub><doi>10.1109/TEVC.2017.2691281</doi><tpages>21</tpages><orcidid>https://orcid.org/0000-0002-1775-7259</orcidid><orcidid>https://orcid.org/0000-0002-7154-8570</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1089-778X
ispartof IEEE transactions on evolutionary computation, 2018-06, Vol.22 (3), p.394-414
issn 1089-778X
1941-0026
language eng
recordid cdi_ieee_primary_7892940
source IEEE/IET Electronic Library (IEL)
subjects Couplings
Evolutionary computation
Measurement
Multiobjective (MO) search
Optimization
Software engineering
software evolution
software modularization
Software systems
title An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-04T16%3A45%3A12IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=An%20Empirical%20Study%20of%20Cohesion%20and%20Coupling:%20Balancing%20Optimization%20and%20Disruption&rft.jtitle=IEEE%20transactions%20on%20evolutionary%20computation&rft.au=Paixao,%20Matheus&rft.date=2018-06-01&rft.volume=22&rft.issue=3&rft.spage=394&rft.epage=414&rft.pages=394-414&rft.issn=1089-778X&rft.eissn=1941-0026&rft.coden=ITEVF5&rft_id=info:doi/10.1109/TEVC.2017.2691281&rft_dat=%3Ccrossref_RIE%3E10_1109_TEVC_2017_2691281%3C/crossref_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=7892940&rfr_iscdi=true