Categorization of common coupling in kernel based software

Common coupling is an important factor that needs to be considered in software design. It affects software dependency via the definition-use relationship of global variables. Common coupling can arise in all types of software; here we focus on issues specific to kernel-based software. In a previous paper, we described a categorization of common coupling and used it to study the maintainability of the Linux operating system. In this paper, we present a detailed description of this categorization, prove its completeness, and suggest further applications. We hope that, by this approach, we can make it easier for others to use our categorization to measure the maintainability of other kernel-based software.

[1]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[2]  A. Jefferson Offutt,et al.  A software metric system for module coupling , 1993, J. Syst. Softw..

[3]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[4]  Theo Härder,et al.  New Approaches to Object Processing in Engineering Databases , 1986, OODBS.

[5]  Stephen R. Schach,et al.  Quality Impacts of Clandestine Common Coupling , 2003, Software Quality Journal.

[6]  Stephen R. Schach,et al.  Categorization of common coupling and its application to the maintainability of the Linux kernel , 2004, IEEE Transactions on Software Engineering.