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...
Gespeichert in:
Veröffentlicht in: | The Journal of systems and software 2007-08, Vol.80 (8), p.1239-1255 |
---|---|
Hauptverfasser: | , , , , , , , , , |
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 |