Wednesday, October 22, 2008

Linux Kernel: Software Size and Complexity Metrics

Linux Kernel has surpassed 10M lines of code including comments, blank lines etc.
What does that really mean ? Wouldn't adding or deleting blank lines, comments and other irrelevant text/characters skew the metrices ?
Is number of lines really a meaningful measure of the largeness (size, complexity etc) of a software ?

Counting the number of language statements may not be perfect but would be a far more accurate measure of size/complexity, esp. compared to raw lines of text.
e.g. Conditional statements can be counted as sum of "if" and "else" block counts, and similarly for looping statements.

The same may apply to scripting languages.

Food for thought: But what about assembly code in large projects like the Linux Kernel ?