ACM Home Page
Please provide us with feedback. Feedback
Understanding the shape of Java software
Full text PdfPdf (453 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications table of contents
Portland, Oregon, USA
SESSION: Software engineering table of contents
Pages: 397 - 412  
Year of Publication: 2006
ISBN:1-59593-348-4
Also published in ...
Authors
Gareth Baxter  Victoria University of Wellington, Wellington, New Zealand
Marcus Frean  Victoria University of Wellington, Wellington, New Zealand
James Noble  Victoria University of Wellington, Wellington, New Zealand
Mark Rickerby  Victoria University of Wellington, Wellington, New Zealand
Hayden Smith  Victoria University of Wellington, Wellington, New Zealand
Matt Visser  Victoria University of Wellington, Wellington, New Zealand
Hayden Melton  University of Auckland, Auckland, New Zealand
Ewan Tempero  University of Auckland, Auckland, New Zealand
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 22,   Downloads (12 Months): 181,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1167473.1167507
What is a DOI?

ABSTRACT

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 relate to each other, or the 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 researchers who can investigate how and why the structural relationships we find may have originated, what they portend, and how they can be managed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. Barabasi. Linked: the New Science of Networks. Perseus Press, New York, 2002.
 
2
A. L. Barabasi and R. Albert. Emergence of scaling in random networks. Science, 286:509--512, 1999.
3
 
4
C. Collberg, G. Myles, and M. Stepp. An empirical study of Java bytecode programs. Technical Report TR04-11, Department of Computer Science, Univeristy of Arizona, 2004.
 
5
 
6
 
7
8
 
9
10
 
11
12
13
 
14
S. Hunston. Corpora in Applied Linguistics. Cambridge University Press, 2002.
 
15
C. Jones. Programming productivity. McGraw-Hill, Inc., New York, NY, USA, 1986.
 
16
D. E. Knuth. An empirical study of FORTRAN programs. Software - Practice and Experience, 1(2):105--133, 1971.
 
17
 
18
J. Laherrere and D. Sornette. Stretched exponential distributions in nature and economy: "fat tails" with characteristic scales. The European Physical Journal B, 2:525, 1998.
 
19
H. Melton and E. Tempero. An empirical study of cycles among classes in Java. Technical Report UoA-SE-2006-1, Department of Computer Science, University of Auckland, 2006.
 
20
 
21
M. E. J. Newman. Power laws, Pareto distributions and Zipf's law. Contemporary Physics, 46(5):323--351, Sept. 2005.
 
22
 
23
J. Noble and R. Biddle. Software Visualization, chapter Visual Program Visualisation. Kluwer, 2003.
 
24
Object Management Group. Unified Modeling Language (UML ) 1.5 specification, 2004.
 
25
26
27
 
28
 
29
 
30
S. Valverde, R. Ferrer-Cancho, and R. V. Solé. Scale-free networks from optimal design. Europhysics Letters, 60(4):512--517, Nov. 2002.
 
31
S. Valverde and R. V. Solé. Hierarchical small-worlds in software architecture. Under review, IEEE Transactions in Software Engineering. An earlier versino is available as Sante Fe Institute Working Paper 03-07-044, 2005.
 
32
W. Weibull. A statistical distribution function of wide applicability. ASME Journal Of Applied Mechanics, pages 293--297, Sept. 1951.
 
33
 
34
R. Wheeldon and S. Counsell. Power law distributions in class relationships. In Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM03), 2003.


Collaborative Colleagues:
Gareth Baxter: colleagues
Marcus Frean: colleagues
James Noble: colleagues
Mark Rickerby: colleagues
Hayden Smith: colleagues
Matt Visser: colleagues
Hayden Melton: colleagues
Ewan Tempero: colleagues