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.
However, and El 's argument has drawn some criticism stemming from the point of view that multivariate analysis of the kind proposed in their papers produces ill-specified, logically inconsistent statistical models @cite_3 . Specifically, the partial correlation of @math and @math controlling for a third variable @math , written @math , is a measure of the relationship between X and Y if statistically we hold Z constant . But trying to predict, for example, the effect on post-release defects @math by increasing the coupling value @math while holding the number of lines of code @math constant doesn't make sense, because in the world from where the data comes, increasing coupling usually requires additional lines of code (e.g. field and variable declarations). As Evanco points out @cite_3 , this model is inconsistent with the reality of the data. The suggestion following the criticism is that prediction models should use the metric in question @math or the size metric ( @math ), whichever gives more predictive power, but not both.
@cite_3
2100157906
It has been proposed by El (ibid. vol.27 (7), 2001) that size should be taken into account as a confounding variable when validating object-oriented metrics. We take issue with this perspective since the ability to measure size does not temporally precede the ability to measure many of the object-oriented metrics that have been proposed. Hence, the condition that a confounding variable must occur causally prior to another explanatory variable is not met. In addition, when specifying multivariate models of defects that incorporate object-oriented metrics, entering size as an explanatory variable may result in misspecified models that lack internal consistency. Examples are given where this misspecification occurs.