Many internal software metrics and external quality attributes of Java programs correlate strongly with program size. This knowledge has been used pervasively in quantitative studies of software through practices such as normalization on size metrics. This paper reports size-related super- and sublinear effects that have not been known before. Findings obtained on a very large collection of Java programs -- 30,911 projects hosted at Google Code as of Summer 2011 -- unveils how certain characteristics of programs vary disproportionately with program size, sometimes even non-monotonically. Many of the specific parameters of nonlinear relations are reported. This result gives further insights for the differences of "programming in the small" vs. "programming in the large." The reported findings carry important consequences for OO software metrics, and software research in general: metrics that have been known to correlate with size can now be properly normalized so that all the information that is left in them is size-independent.
翻译:贾瓦方案的许多内部软件量度和外部质量属性与程序大小密切相关。 这种知识在软件的定量研究中被广泛使用,例如通过规模度量的正常化等做法。 本文报告了以前从未知道的与规模有关的超线性和亚线性效应。 大量收集的爪哇方案 -- -- 2011年夏季由谷歌代码主办的项目有30,911个 -- -- 的研究结果揭示了程序的某些特性与程序大小有不相称的差别, 有时甚至是非单线性差异。 报告了许多非线性关系的具体参数。 这一结果进一步揭示了“ 小型程序” 与“ 大型方案” 之间的差异。 所报告的结果对OO 软件量度和一般软件研究产生了重要影响: 已知与规模相关的指标现在可以适当地实现正常化, 以便所剩的所有信息都取决于大小。