http://www.spinellis.gr/pubs/conf/2008-ICSE-4kernel/html/Spi08b.html This is an HTML rendering of a working paper draft that led to a publication. The publication should always be cited in preference to this draft using the following reference:
Citation(s): 64 (Google Scholar), 33 (selected). This document is also available in PDF format. The document's metadata is available in BibTeX format. Find the publication on Google Scholar This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder. |
© ACM, 2008. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Wilhem Schäfer, Matthew B. Dwyer, and Volker Gruhn, editors, ICSE '08: Proceedings of the 30th International Conference on Software Engineering, pages 381–390, New York, May 2008. Association for Computing Machinery. (doi:10.1145/1368088.1368140)
dds@aueb.gr
|
Metric | FreeBSD | Linux | Solaris | WRK |
File Organization | ||||
Length of C files | - | - | ||
Length of header files | + | - | ||
Defined global functions in C files | - | - | ||
Defined structures in header files | - | |||
Files per directory | - | |||
Header files per C source file | ||||
Average structure complexity in files | - | + | ||
Code Structure | ||||
Extended cyclomatic complexity | + | - | ||
Statements per function | + | |||
Halstead complexity | + | - | ||
Common coupling at file scope | - | |||
Common coupling at global scope | + | |||
% global functions | + | - | ||
% strictly structured functions | - | + | ||
% labeled statements | - | + | ||
Average number of parameters to functions | ||||
Average depth of maximum nesting | - | - | ||
Tokens per statement | ||||
% of tokens in replicated code | - | - | + | |
Average structure complexity in functions | + | - | ||
Code Style | ||||
Length of global identifiers | + | |||
Length of aggregate identifiers | + | |||
% style conforming lines | + | - | ||
% style conforming typedef identifiers | - | - | + | |
% style conforming aggregate tags | - | - | - | + |
Characters per line | ||||
% of numeric constants in operands | - | + | + | |
% unsafe function-like macros | - | |||
Comment density in C files | - | + | ||
Comment density in header files | - | + | ||
% misspelled comment words | + | |||
% unique misspelled comment words | + | |||
Preprocessing | ||||
Preprocessing expansion in functions | - | + | ||
Preprocessing expansion in files | + | |||
% of preprocessor directives in header files | - | - | + | |
% of non-#include directives in C files | - | + | ||
% of preprocessor directives in functions | - | + | ||
% of preprocessor conditionals in functions | - | + | + | |
% of function-like macros in defined functions | + | - | ||
% of macros in unique identifiers | - | + | + | |
% of macros in identifiers | - | + | ||
Data Organization | ||||
Average level of namespace pollution in C files | + | - | ||
% of variable declarations with global scope | + | - | ||
% of variable operands with global scope | - | + | ||
% of identifiers with wrongly global scope | + | - | ||
% of variable declarations with file scope | + | - | ||
% of variable operands with file scope | + | - | ||
Variables per typedef or aggregate | - | + | ||
Data elements per aggregate or enumeration | - | + |