TY - JOUR
T1 - Maintainability of the kernels of open-source operating systems
T2 - A comparison of Linux with FreeBSD, NetBSD, and OpenBSD
AU - Yu, Liguo
AU - Schach, Stephen R.
AU - Chen, Kai
AU - Heller, Gillian Z.
AU - Offutt, Jeff
PY - 2006/6
Y1 - 2006/6
N2 - We compared and contrasted the maintainability of four open-source operating systems: Linux, FreeBSD, NetBSD, and OpenBSD. We used our categorization of common coupling in kernel-based software to highlight future maintenance problems. An unsafe definition is a definition of a global variable that can affect a kernel module if that definition is changed. For each operating system we determined a number of measures, including the number of global variables, the number of instances of global variables in the kernel and overall, as well as the number of unsafe definitions in the kernel and overall. We also computed the value of each our measures per kernel KLOC and per KLOC overall. For every measure and every ratio, Linux compared unfavorably with FreeBSD, NetBSD, and OpenBSD. Accordingly, we are concerned about the future maintainability of Linux.
AB - We compared and contrasted the maintainability of four open-source operating systems: Linux, FreeBSD, NetBSD, and OpenBSD. We used our categorization of common coupling in kernel-based software to highlight future maintenance problems. An unsafe definition is a definition of a global variable that can affect a kernel module if that definition is changed. For each operating system we determined a number of measures, including the number of global variables, the number of instances of global variables in the kernel and overall, as well as the number of unsafe definitions in the kernel and overall. We also computed the value of each our measures per kernel KLOC and per KLOC overall. For every measure and every ratio, Linux compared unfavorably with FreeBSD, NetBSD, and OpenBSD. Accordingly, we are concerned about the future maintainability of Linux.
UR - http://www.scopus.com/inward/record.url?scp=33646137356&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2005.08.014
DO - 10.1016/j.jss.2005.08.014
M3 - Article
AN - SCOPUS:33646137356
VL - 79
SP - 807
EP - 815
JO - The Journal of Systems and Software
JF - The Journal of Systems and Software
SN - 0164-1212
IS - 6
ER -