latteraon Lobsters • Recommends
Is Linux Maintainable?
Note: this seems to be an old presentation Microsoft just recently uploaded.
#linuxkernel#coupling#globalvariables
359K subscribers • 12 videos on Hallway
Intermediate. Assumes working knowledge.
1.2K views10 years ago1 recommendation
Systems programmingSoftware designOperating systemsLinuxSoftware architecture
This presentation analyzes coupling and global variables in the Linux kernel, comparing its maintainability unfavorably to FreeBSD, NetBSD, and OpenBSD.
We present the results of four research projects in empirical open-source software engineering. First, we describe a longitudinal study of 365 versions of Linux. The number of instances of common coupling grows exponentially with version number, whereas the number of lines of code grows linearly with version number. We conclude that, as Linux grows in size, it will become increasingly hard to maintain. Second, we give a new categorization of common coupling within the context of kernel-based software, and use it to show that Linux will become extremely hard to maintain in the future. Third, we compare Linux to three other open-source operating systems: FreeBSD, NetBSD, and OpenBSD. Linux compares unfavorably to the three BSDs with respect to every measure considered, including the total number of global variables, and the total number of instances of global variables in the kernel and overall. Fourth, we discuss global variable ΓÇ£currentΓÇ¥ in detail. We show that successive versions of Linux have more instances of ΓÇ£currentΓÇ¥ and more complex definitionΓÇôuse relations with respect to ΓÇ£current.ΓÇ¥ We conclude that global variable ΓÇ£currentΓÇ¥ is strangling Linux.What people say. Shared as an interesting empirical study comparing the code quality and maintainability of Linux against various BSD kernels.
latteraon Lobsters • Recommends