Maintainability of the Linux Kernel

IEE Proceedings Journal: Special Issue on Open Source Software Engineering, 149(1):18-23, February 2002.

Steve Schach, Bo Jin, David Wright, Gillian Z. Heller and Jeff Offutt


We have examined 365 versions of Linux. For every version, we counted the number of instances of common (global) coupling between each of the 17 kernel modules and all the other modules in that version of Linux. We found that the number of instances of common coupling grows exponentially with version number. This result is significant at the 99.99% level, and no additional variables are needed to explain this increase. On the other hand, the number of lines of code in each kernel modules grows only linearly with version number. We conclude that, unless Linux is restructured with a bare minimum of common coupling, the dependencies induced by common coupling will, at some future date, make Linux exceedingly hard to maintain without inducing regression faults.

Back to my home page.