Cohesion Analysis in Linux Kernel

  • Authors:
  • Vinay Kumar Reddy;D. Janakiram

  • Affiliations:
  • IIT Madras, Chennai, India;IIT Madras, Chennai, India

  • Venue:
  • APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is widely accepted that strong coupling such as common coupling should be used with caution among modules. Linux kernel is analyzed in terms of these common coupling instances and the results show the presence of excessive common coupling among modules. It is mentioned that unless the kernel is restructured with a bare minimum of common coupling, it would be exceedingly difficult to maintain kernel in the near future. We attribute this problem to the lack of data abstractions in the kernel. To support our argument, we have analyzed the cohesion in the Linux kernel both at the module level (file level) and function level. Although the cohesion at the function level is high, low cohesion prevails at the module level indicating the lack of focus on data abstractions at the module level. We believe that this is an inherent drawback in procedural paradigm where functionality is considered first rather than data. Hence, we suggest to migrate the kernel to object-oriented paradigm to minimize coupling among modules and increase cohesion within the modules. As performance is one of the prime concerns for an OS kernel, object oriented features can be introduced in the kernel in an incremental fashion using the technique of object-oriented wrappers.