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

Dror G. Feitelson, Tokunbo O.S. Adeshiyan, Daniel Balasubramanian, Yoav Etsion, Gabor Madl, Esteban P. Osses, Sameer Singh, Karlkim Suwanmongkol, Minhui Xie, Stephen R. Schach*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

3 Scopus citations


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.

Original languageAmerican English
Pages (from-to)1239-1255
Number of pages17
JournalJournal of Systems and Software
Issue number8
StatePublished - Aug 2007


  • Common coupling
  • Data structures
  • Definition-use analysis
  • Fine-grain analysis
  • Kernel-based software
  • Linux case study


Dive into the research topics of 'Fine-grain analysis of common coupling and its application to a Linux case study'. Together they form a unique fingerprint.

Cite this