How Scale Affects Structure in Java Programs
Cristina V. Lopes, Joel Ossher

TL;DR
This study investigates how various structural characteristics of Java programs change with size, revealing nonlinear effects and providing insights for better normalization of software metrics.
Contribution
It uncovers size-related super- and sublinear effects in Java programs, offering new understanding of how program features vary with size and impacting metric normalization.
Findings
Certain program characteristics vary disproportionately with size.
Nonlinear relations between size and program parameters are reported.
Implications for normalizing software metrics to be size-independent.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
