skip to main content
article

Maintainability of the kernels of open-source operating systems: A comparison of Linux with FreeBSD, NetBSD, and OpenBSD

Published: 01 June 2006 Publication History

Abstract

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.

References

[1]
Briand, L.C., Daly, J., Porter, V., Wüst, J., 1998. A comprehensive empirical validation of design measures for object-oriented systems. In: Proceedings of the 5th International Software Metrics Symposium, Bethesda, MD, pp. 246-257.]]
[2]
Brinch Hansen, P., 1970. The nucleus of a multiprogramming system. Communications of the ACM 4 (4), 238-241.]]
[3]
Härden, T., 1986. New approaches to object processing in engineering Databases, Abstract in: Proceedings of the International Workshop on Object-Oriented Database Systems, Pacific Grove, CA, p. 217, September 1986. Full text available from: 〈https://portal.acm.org/ poplogin.cfm?dl=ACM&coll=GUIDE&comp_id=318875&want_ href=delivery%2Ecfm%3Fid%3D318875%26type%3Dpdf&CFID=193 66447&CFTOKEN=6322313〉&comp_id=318875&want_ href=delivery%2Ecfm%3Fid%3D318875%26type%3Dpdf&CFID=193 66447&CFTOKEN=6322313〉&want_ href=delivery%2Ecfm%3Fid%3D318875%26type%3Dpdf&CFID=193 66447&CFTOKEN=6322313〉&CFID=193 66447&CFTOKEN=6322313〉&CFTOKEN=6322313〉〉.]]
[4]
Offutt, J., 2002. Open-source software: more or less secure and reliable? Panel at the International Symposium on Software Reliability Engineering (ISSRE '02), Annapolis, MD.]]
[5]
Offutt, J., Harrold, M.J., Kolte, P., 1993. A software metric system for module coupling. Journal of Systems and Software 20 (3), 295-308.]]
[6]
Page-Jones, M., 1980. The Practical Guide to Structured Systems Design. Yourdon Press, New York.]]
[7]
Raymond, E.S., 2000. The cathedral and the bazaar. Available from: 〈www.catb.org/~esr/writings/cathedral-bazaar/〉.]]
[8]
Schach, S.R., 2005. Object-Oriented and Classical Software Engineering, sixth ed. McGraw-Hill, Boston, MA.]]
[9]
Schach, S.R., Offutt, J., 2002. On the nonmaintainability of open-source software. In: Proceedings of the 2nd Workshop on Open-Source Software Engineering, Orlando, FL, pp. 47-49.]]
[10]
Schach, S.R., Jin, B., Wright, D.R., Heller, G.Z., Offutt, A.J., 2002. Maintainability of the Linux kernel, IEE Proceedings-Software 149 (2), 18-23.]]
[11]
Schach, S.R., Jin, B., Wright, D.R., Heller, G.Z., Offutt, J., 2003. Quality impacts of clandestine common coupling. Software Quality Journal 11 (3), 211-218.]]
[12]
Stevens, W.P., Myers, G.J., Constantine, L.L., 1974. Structured design. IBM Systems Journal 13 (2), 38-54.]]
[13]
Troy, D.A., Zweben, S.H., 1981. Measuring the quality of structured design. Journal of Systems and Software 2 (2), 113-120.]]
[14]
Wang, S., Schach, S.R., Heller, G.Z., 2001. A case study in repeated maintenance. Journal of Software Maintenance and Evolution: Research and Practice 13 (2), 127-141.]]
[15]
Xbox365, 2004. Xbox system software overview. Available from: 〈www.xbox365.com/stories/xdkcomplete.shtml〉.]]
[16]
Yu, L., Schach, S.R., Chen, K., Offutt, J., 2004. Categorization of common coupling and its application to the maintainability of the Linux kernel. IEEE Transactions on Software Engineering 30 (10), 694-706.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Systems and Software
Journal of Systems and Software  Volume 79, Issue 6
June 2006
144 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 June 2006

Author Tags

  1. Common coupling
  2. Definition-use analysis
  3. Linux
  4. Maintainability
  5. Open-source software

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Free open source communities sustainability: Does it make a difference in software quality?Empirical Software Engineering10.1007/s10664-024-10529-629:5Online publication date: 23-Jul-2024
  • (2017)A Characterization of State Spill in Modern Operating SystemsProceedings of the Twelfth European Conference on Computer Systems10.1145/3064176.3064205(389-404)Online publication date: 23-Apr-2017
  • (2011)Measuring Open Source QualityInternational Journal of Open Source Software and Processes10.4018/jossp.20110701043:3(48-65)Online publication date: 1-Jul-2011
  • (2008)A tale of four kernelsProceedings of the 30th international conference on Software engineering10.1145/1368088.1368140(381-390)Online publication date: 15-May-2008
  • (2008)A strategic analysis for successful open source software utilization based on a structural equation modelJournal of Systems and Software10.1016/j.jss.2007.08.03481:6(1014-1024)Online publication date: 1-Jun-2008

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media