A joint project of the Graduate School, Peabody College, and the Jean & Alexander Heard Library

Title page for ETD etd-07082008-001537

Type of Document Dissertation
Author Thomas, Lawrence Gray
Author's Email Address LGT0001@gmail.com
URN etd-07082008-001537
Title An Analysis of Software Quality and Maintainability Metrics with an Application to a Longitudinal Study of the Linux Kernel.
Degree PhD
Department Computer Science
Advisory Committee
Advisor Name Title
Dr. Stephen R. Schach Committee Chair
Dr. Julie A. Adams Committee Member
Dr. Larry Dowdy Committee Member
Dr. Ralph M. Butler Committee Member
Dr. Richard Alan Peters II Committee Member
  • Software engineering
  • Software measurement -- Evaluation
  • Linux
Date of Defense 2008-05-14
Availability unrestricted
Coupling between software modules has been shown to be deleterious to both software quality and maintainability. Common coupling (two or more modules sharing a global variable, or GV) is a particularly strong (and therefore undesirable) form of coupling. We examined 83 production (stable) versions of the Linux kernel. Previous studies have determined that the size of the Linux kernel (as measured in lines of code) grows linearly and the number of instances of common coupling grows exponentially with respect to version number. We found that the size of the Linux kernel and the number of instances of common coupling both grow linearly with respect to release date, because Linux kernels are released at irregular intervals.

We also measured correlations between common coupling and Oman’s maintainability index as well as two of Halstead’s Software Science metrics (volume and effort). The general validity of Oman’s and Halstead’s metrics has long been questioned. We performed a longitudinal study on three distinct series of the Linux kernel, in an attempt to see if these metrics were valid within multiple consecutive versions of the same program. All of the metrics we examined were valid in one series, but not in the other two. Of all the metrics we examined, only lines of code maintained a significant linear correlation with the number of instances of common coupling in all cases.

Rather than analyzing the code in only the /kernel/ subdirectory, we built complete, executable kernels, and analyzed all of the source code used to build each kernel. Doing so required us to develop an algorithm to select consistent kernel configurations across all versions of the kernel we analyzed.

We used a variety of open-source software tools (and one proprietary CASE tool), and built several specialized tools to link the existing tools, resulting in an end-to-end solution for the analysis of the various software metrics we gathered. Newer tools cannot be used to build the older versions of the kernel, and some of the code had to be modified in order to successfully build the kernel. We carefully documented these changes to assist future researchers.

  Filename       Size       Approximate Download Time (Hours:Minutes:Seconds) 
 28.8 Modem   56K Modem   ISDN (64 Kb)   ISDN (128 Kb)   Higher-speed Access 
  Larry_Thomas-Dissertation-Final_Version-2008-07-07.pdf 2.89 Mb 00:13:22 00:06:52 00:06:01 00:03:00 00:00:15

Browse All Available ETDs by ( Author | Department )

If you have more questions or technical problems, please Contact LITS.