| Understanding the shape of Java software |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 22, Downloads (12 Months): 181, Citation Count: 5
|
|
|
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
|
Joseph (Yossi) Gil , Itay Maman, Micro patterns in Java code, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
| |
11
|
James Gosling , Bill Joy , Guy Steele , Gilad Bracha, Java Language Specification, Second Edition: The Java Series, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2000
|
 |
12
|
Christian Grothoff , Jens Palsberg , Jan Vitek, Encapsulating objects with confined types, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.241-255, October 14-18, 2001, Tampa Bay, FL, USA
|
 |
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
|
Ricard V. Solé , Ramon Ferrer-Cancho , Jose M. Montoya , Sergi Valverde, Selection, tinkering, and emergence in complex networks, Complexity, v.8 n.1, p.20-33, September 2002
[doi> 10.1002/cplx.10055]
|
| |
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.
|
CITED BY 5
|
|
|
|
|
|
|
|
|
|
|
Erik Linstead , Sushil Bajracharya , Trung Ngo , Paul Rigor , Cristina Lopes , Pierre Baldi, Sourcerer: mining and searching internet-scale software repositories, Data Mining and Knowledge Discovery, v.18 n.2, p.300-336, April 2009
|
|
|
|
|