Fine-grain analysis of common coupling and its application to a Linux case study

Common coupling (sharing global variables across modules) is widely accepted as a measure of software quality and maintainability; a low level of common coupling is necessary (but not sufficient) to ensure maintainability. But when the global variables in question are large multi-field data structur...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software 2007-08, Vol.80 (8), p.1239-1255
Hauptverfasser: Feitelson, Dror G., Adeshiyan, Tokunbo O.S., Balasubramanian, Daniel, Etsion, Yoav, Madl, Gabor, Osses, Esteban P., Singh, Sameer, Suwanmongkol, Karlkim, Xie, Minhui, Schach, Stephen R.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 1255
container_issue 8
container_start_page 1239
container_title The Journal of systems and software
container_volume 80
creator Feitelson, Dror G.
Adeshiyan, Tokunbo O.S.
Balasubramanian, Daniel
Etsion, Yoav
Madl, Gabor
Osses, Esteban P.
Singh, Sameer
Suwanmongkol, Karlkim
Xie, Minhui
Schach, Stephen R.
description Common coupling (sharing global variables across modules) is widely accepted as a measure of software quality and maintainability; a low level of common coupling is necessary (but not sufficient) to ensure maintainability. But when the global variables in question are large multi-field data structures, one must decide whether to consider such data structures as single units, or examine each of their fields individually. We explore this issue by re-analyzing a case study based on the Linux operating system. We determine the common coupling at the level of granularity of the component fields of large, complex data structures, rather than at the level of the data structures themselves, as in previous work. We claim that this is the appropriate level of analysis based on how such data structures are used in practice, and also that such a study is required due to concern that coarse-grained analysis leads to false coupling. We find that, for this case study, the granularity does not have a decisive effect on the results. In particular, our results for coupling based on individual fields are similar in spirit to the results reported previously (by others) based on using complete data structures. In both cases, the coupling indicates that the system kernel is vulnerable to modifications in peripheral modules of the system.
doi_str_mv 10.1016/j.jss.2006.12.550
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_229553388</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0164121206003554</els_id><sourcerecordid>1277586931</sourcerecordid><originalsourceid>FETCH-LOGICAL-c367t-8243192f1564601fe6c15928aa66d56c64022301b0400985fafc708c0730413d3</originalsourceid><addsrcrecordid>eNp9kE9LxDAQxYMouK5-AG_Be-tM0qQpnmTxHyzoQc8hpumSstvUpBX325tlPXuaGd57w8yPkGuEEgHlbV_2KZUMQJbISiHghCxQ1bxAxtQpWWRPlXtk5-QipR4AagZsQd4e_eCKTTR-oGYw233yiYaO2rDbhSGXedz6YZO1lvopUTPm2ZrJZ3EK1NC1H-Yfak1yNE1zu78kZ53ZJnf1V5fk4_HhffVcrF-fXlb368JyWU-FYhXHhnUoZCUBOyctioYpY6RshbSyAsY44CdUAI0SnelsDcpCzaFC3vIluTnuHWP4ml2adB_mmD9ImrFGCM6VyiY8mmwMKUXX6TH6nYl7jaAP3HSvMzd94KaR6cwtZ-6OGZev__Yu6mS9G6xrfXR20m3w_6R_ARXPc7I</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>229553388</pqid></control><display><type>article</type><title>Fine-grain analysis of common coupling and its application to a Linux case study</title><source>Elsevier ScienceDirect Journals</source><creator>Feitelson, Dror G. ; Adeshiyan, Tokunbo O.S. ; Balasubramanian, Daniel ; Etsion, Yoav ; Madl, Gabor ; Osses, Esteban P. ; Singh, Sameer ; Suwanmongkol, Karlkim ; Xie, Minhui ; Schach, Stephen R.</creator><creatorcontrib>Feitelson, Dror G. ; Adeshiyan, Tokunbo O.S. ; Balasubramanian, Daniel ; Etsion, Yoav ; Madl, Gabor ; Osses, Esteban P. ; Singh, Sameer ; Suwanmongkol, Karlkim ; Xie, Minhui ; Schach, Stephen R.</creatorcontrib><description>Common coupling (sharing global variables across modules) is widely accepted as a measure of software quality and maintainability; a low level of common coupling is necessary (but not sufficient) to ensure maintainability. But when the global variables in question are large multi-field data structures, one must decide whether to consider such data structures as single units, or examine each of their fields individually. We explore this issue by re-analyzing a case study based on the Linux operating system. We determine the common coupling at the level of granularity of the component fields of large, complex data structures, rather than at the level of the data structures themselves, as in previous work. We claim that this is the appropriate level of analysis based on how such data structures are used in practice, and also that such a study is required due to concern that coarse-grained analysis leads to false coupling. We find that, for this case study, the granularity does not have a decisive effect on the results. In particular, our results for coupling based on individual fields are similar in spirit to the results reported previously (by others) based on using complete data structures. In both cases, the coupling indicates that the system kernel is vulnerable to modifications in peripheral modules of the system.</description><identifier>ISSN: 0164-1212</identifier><identifier>EISSN: 1873-1228</identifier><identifier>DOI: 10.1016/j.jss.2006.12.550</identifier><identifier>CODEN: JSSODM</identifier><language>eng</language><publisher>New York: Elsevier Inc</publisher><subject>Case studies ; Common coupling ; Data structures ; Definition-use analysis ; Fine-grain analysis ; Hierarchies ; Kernel-based software ; Linux ; Linux case study ; Software quality ; Studies</subject><ispartof>The Journal of systems and software, 2007-08, Vol.80 (8), p.1239-1255</ispartof><rights>2007 Elsevier Inc.</rights><rights>Copyright Elsevier Sequoia S.A. Aug 2007</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c367t-8243192f1564601fe6c15928aa66d56c64022301b0400985fafc708c0730413d3</citedby><cites>FETCH-LOGICAL-c367t-8243192f1564601fe6c15928aa66d56c64022301b0400985fafc708c0730413d3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://dx.doi.org/10.1016/j.jss.2006.12.550$$EHTML$$P50$$Gelsevier$$H</linktohtml><link.rule.ids>314,777,781,3537,27905,27906,45976</link.rule.ids></links><search><creatorcontrib>Feitelson, Dror G.</creatorcontrib><creatorcontrib>Adeshiyan, Tokunbo O.S.</creatorcontrib><creatorcontrib>Balasubramanian, Daniel</creatorcontrib><creatorcontrib>Etsion, Yoav</creatorcontrib><creatorcontrib>Madl, Gabor</creatorcontrib><creatorcontrib>Osses, Esteban P.</creatorcontrib><creatorcontrib>Singh, Sameer</creatorcontrib><creatorcontrib>Suwanmongkol, Karlkim</creatorcontrib><creatorcontrib>Xie, Minhui</creatorcontrib><creatorcontrib>Schach, Stephen R.</creatorcontrib><title>Fine-grain analysis of common coupling and its application to a Linux case study</title><title>The Journal of systems and software</title><description>Common coupling (sharing global variables across modules) is widely accepted as a measure of software quality and maintainability; a low level of common coupling is necessary (but not sufficient) to ensure maintainability. But when the global variables in question are large multi-field data structures, one must decide whether to consider such data structures as single units, or examine each of their fields individually. We explore this issue by re-analyzing a case study based on the Linux operating system. We determine the common coupling at the level of granularity of the component fields of large, complex data structures, rather than at the level of the data structures themselves, as in previous work. We claim that this is the appropriate level of analysis based on how such data structures are used in practice, and also that such a study is required due to concern that coarse-grained analysis leads to false coupling. We find that, for this case study, the granularity does not have a decisive effect on the results. In particular, our results for coupling based on individual fields are similar in spirit to the results reported previously (by others) based on using complete data structures. In both cases, the coupling indicates that the system kernel is vulnerable to modifications in peripheral modules of the system.</description><subject>Case studies</subject><subject>Common coupling</subject><subject>Data structures</subject><subject>Definition-use analysis</subject><subject>Fine-grain analysis</subject><subject>Hierarchies</subject><subject>Kernel-based software</subject><subject>Linux</subject><subject>Linux case study</subject><subject>Software quality</subject><subject>Studies</subject><issn>0164-1212</issn><issn>1873-1228</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2007</creationdate><recordtype>article</recordtype><recordid>eNp9kE9LxDAQxYMouK5-AG_Be-tM0qQpnmTxHyzoQc8hpumSstvUpBX325tlPXuaGd57w8yPkGuEEgHlbV_2KZUMQJbISiHghCxQ1bxAxtQpWWRPlXtk5-QipR4AagZsQd4e_eCKTTR-oGYw233yiYaO2rDbhSGXedz6YZO1lvopUTPm2ZrJZ3EK1NC1H-Yfak1yNE1zu78kZ53ZJnf1V5fk4_HhffVcrF-fXlb368JyWU-FYhXHhnUoZCUBOyctioYpY6RshbSyAsY44CdUAI0SnelsDcpCzaFC3vIluTnuHWP4ml2adB_mmD9ImrFGCM6VyiY8mmwMKUXX6TH6nYl7jaAP3HSvMzd94KaR6cwtZ-6OGZev__Yu6mS9G6xrfXR20m3w_6R_ARXPc7I</recordid><startdate>20070801</startdate><enddate>20070801</enddate><creator>Feitelson, Dror G.</creator><creator>Adeshiyan, Tokunbo O.S.</creator><creator>Balasubramanian, Daniel</creator><creator>Etsion, Yoav</creator><creator>Madl, Gabor</creator><creator>Osses, Esteban P.</creator><creator>Singh, Sameer</creator><creator>Suwanmongkol, Karlkim</creator><creator>Xie, Minhui</creator><creator>Schach, Stephen R.</creator><general>Elsevier Inc</general><general>Elsevier Sequoia S.A</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20070801</creationdate><title>Fine-grain analysis of common coupling and its application to a Linux case study</title><author>Feitelson, Dror G. ; Adeshiyan, Tokunbo O.S. ; Balasubramanian, Daniel ; Etsion, Yoav ; Madl, Gabor ; Osses, Esteban P. ; Singh, Sameer ; Suwanmongkol, Karlkim ; Xie, Minhui ; Schach, Stephen R.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c367t-8243192f1564601fe6c15928aa66d56c64022301b0400985fafc708c0730413d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2007</creationdate><topic>Case studies</topic><topic>Common coupling</topic><topic>Data structures</topic><topic>Definition-use analysis</topic><topic>Fine-grain analysis</topic><topic>Hierarchies</topic><topic>Kernel-based software</topic><topic>Linux</topic><topic>Linux case study</topic><topic>Software quality</topic><topic>Studies</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Feitelson, Dror G.</creatorcontrib><creatorcontrib>Adeshiyan, Tokunbo O.S.</creatorcontrib><creatorcontrib>Balasubramanian, Daniel</creatorcontrib><creatorcontrib>Etsion, Yoav</creatorcontrib><creatorcontrib>Madl, Gabor</creatorcontrib><creatorcontrib>Osses, Esteban P.</creatorcontrib><creatorcontrib>Singh, Sameer</creatorcontrib><creatorcontrib>Suwanmongkol, Karlkim</creatorcontrib><creatorcontrib>Xie, Minhui</creatorcontrib><creatorcontrib>Schach, Stephen R.</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>The Journal of systems and software</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Feitelson, Dror G.</au><au>Adeshiyan, Tokunbo O.S.</au><au>Balasubramanian, Daniel</au><au>Etsion, Yoav</au><au>Madl, Gabor</au><au>Osses, Esteban P.</au><au>Singh, Sameer</au><au>Suwanmongkol, Karlkim</au><au>Xie, Minhui</au><au>Schach, Stephen R.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Fine-grain analysis of common coupling and its application to a Linux case study</atitle><jtitle>The Journal of systems and software</jtitle><date>2007-08-01</date><risdate>2007</risdate><volume>80</volume><issue>8</issue><spage>1239</spage><epage>1255</epage><pages>1239-1255</pages><issn>0164-1212</issn><eissn>1873-1228</eissn><coden>JSSODM</coden><abstract>Common coupling (sharing global variables across modules) is widely accepted as a measure of software quality and maintainability; a low level of common coupling is necessary (but not sufficient) to ensure maintainability. But when the global variables in question are large multi-field data structures, one must decide whether to consider such data structures as single units, or examine each of their fields individually. We explore this issue by re-analyzing a case study based on the Linux operating system. We determine the common coupling at the level of granularity of the component fields of large, complex data structures, rather than at the level of the data structures themselves, as in previous work. We claim that this is the appropriate level of analysis based on how such data structures are used in practice, and also that such a study is required due to concern that coarse-grained analysis leads to false coupling. We find that, for this case study, the granularity does not have a decisive effect on the results. In particular, our results for coupling based on individual fields are similar in spirit to the results reported previously (by others) based on using complete data structures. In both cases, the coupling indicates that the system kernel is vulnerable to modifications in peripheral modules of the system.</abstract><cop>New York</cop><pub>Elsevier Inc</pub><doi>10.1016/j.jss.2006.12.550</doi><tpages>17</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0164-1212
ispartof The Journal of systems and software, 2007-08, Vol.80 (8), p.1239-1255
issn 0164-1212
1873-1228
language eng
recordid cdi_proquest_journals_229553388
source Elsevier ScienceDirect Journals
subjects Case studies
Common coupling
Data structures
Definition-use analysis
Fine-grain analysis
Hierarchies
Kernel-based software
Linux
Linux case study
Software quality
Studies
title Fine-grain analysis of common coupling and its application to a Linux case study
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-17T11%3A44%3A15IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Fine-grain%20analysis%20of%20common%20coupling%20and%20its%20application%20to%20a%20Linux%20case%20study&rft.jtitle=The%20Journal%20of%20systems%20and%20software&rft.au=Feitelson,%20Dror%20G.&rft.date=2007-08-01&rft.volume=80&rft.issue=8&rft.spage=1239&rft.epage=1255&rft.pages=1239-1255&rft.issn=0164-1212&rft.eissn=1873-1228&rft.coden=JSSODM&rft_id=info:doi/10.1016/j.jss.2006.12.550&rft_dat=%3Cproquest_cross%3E1277586931%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=229553388&rft_id=info:pmid/&rft_els_id=S0164121206003554&rfr_iscdi=true