Understanding the Shape of Java SoftwareResearch Paper Thursday, Oct 26, from 15:30 to 17:00
Large amounts of Java software have been written since the language's escape into unsuspecting software ecology more than ten years ago. Surprisingly little is known about the structure of Java programs in the wild: about the way methods are grouped into classes and then into packages, the way packages related to each other, or way inheritance and composition are used to put these programs together. We present the results of the first in-depth study of the structure of Java programs. We have collected a number of Java programs and measured their key structural attributes. We have found evidence that some relationships follow power-laws, while others do not. We have also observed variations that seem related to some characteristic of the application itself. This study provides important information for programmers who can evaluate structural features of their own programming practice against that found on the web; for implementors of programming tools who can use structural knowledge to tune and optimise their software; and for researchers who can investigate other how and why the structural relationships we find may have originated, what they portend, and how they can be managed. Gareth Baxter, Department of Mathematics, Statistics, and Computer Science, Victoria University of Wellington Marcus Frean, Department of Mathematics, Statistics, and Computer Science, Victoria University of Wellington Hayden Melton, Department of Computer Science, University of Auckland James Noble, Department of Mathematics, Statistics, and Computer Science, Victoria University of Wellington Mark Rickerby, Department of Mathematics, Statistics, and Computer Science, Victoria University of Wellington Hayden Smith, Department of Mathematics, Statistics, and Computer Science, Victoria University of Wellington Ewan Tempero, Department of Computer Science, University of Auckland Matt Visser, Department of Mathematics, Statistics, and Computer Science, Victoria University of Wellington
|