Complex network analysis in Java application systems

  • SHEN Ping-ting ,
  • CHEN Liang-yu
Expand
  • Shanghai Key Lab of Trustworthy Computing, East China Normal University, Shanghai 200062, China

Received date: 2015-12-18

  Online published: 2017-01-13

Abstract

A lot of empirical studies have demonstrated that Java software system is a kind of artificial complex network and its in-degree distribution obeys the power law, while out-degree distribution is lognormal. However, most experiment objects in these studies are Java development tools, such as JDK, log4j and Tomcat, and the type of data analyzed in dependence graph is limited, because they only consider some class dependence relationships and omit certain useful data types, like member variables and local variables. In this paper, we all useful dependence relationships between entities or modules on both class and function levels, and we further propose a novel method to transform a system network into a weighted directed graph. Comprehensive experiment results show that the in- and out-degree of 10 types of Java application systems mostly fit the power law distributions, and our proposed method to detect the scale-free feature of a weighted and directed network is effective in analyzing Java application systems.

Cite this article

SHEN Ping-ting , CHEN Liang-yu . Complex network analysis in Java application systems[J]. Journal of East China Normal University(Natural Science), 2017 , 2017(1) : 38 -51 . DOI: 10.3969/j.issn.1000-5641.2017.01.006

References

[ 1 ] CONCAS G, MARCHESI M, PINNA S, et al. Power-laws in a large object-oriented software system [J]. IEEE Trans Softw Eng, 2007, 33: 687-708.
[ 2 ] DE MOURA A P, LAI Y C, MOTTER A E. Signatures of small-world and scale-free properties in large computer programs [J]. Phys Rev E, 2003, 68: 017102. DOI: 1103/PhysRevE.68.017102.
[ 3 ] KOHRING G A. Complex dependencies in large software systems [J]. Adv Complex Syst, 2009, 12: 565-581.
[ 4 ] LABELLE N, WALLINGFORD E. Inter-package dependency networks in open-source software [J]. Computer Science, arXiv: cs/0411096v1.
[ 5 ] MAILLART T, SORNETTE D, SPAETH S, et al. Empirical tests of Zipf ’s law mechanism in open source linux distribution [J]. Phys Rev Lett, 2008, 101: 218-701.
[ 6 ] ZHENG X, ZENG D, LI H, et al. Analyzing open-source software systems as complex networks [J]. Physica A,2008, 387: 6190-6200.
[ 7 ] HYLAND-WOOD D, CARRINGTON D, KAPLAN S. Scale-free nature of java software package, class and method collaboration graphs [C]//Submitted to the 5th International Symposium on Empirical Software Engineering. 2005.
[ 8 ] FORMAN I R, FORMAN N. Java Reflection in Action [M]. [S.l.]: Manning Publications, 2004: 121-142.
[ 9 ] GIULIO C, MICHELE M, SANDRO P, NICOLA S. On the suitability of Yule process to stochastically model some properties of object-oriented systems [J]. Physica A, 2006, 370: 817-831.
[10] GU Q, XIONG S J, CHEN D X. Correlations between characteristics of maximum influence and degree distributions in software networks [J]. Sci China Inf Sci, 2014, 57(7). DOI: 10.1007/s11432-013-5047-7.
[11] LI C F, LIU L Z, LI X Y. Software networks of Java class and application in fault localization [C]//Proceedings of the International Conference on Intelligent Systems Design and Engineering Application. 2012: 1117-1120.
[12] TETSUO T, TAKAKO N. Analysis of software evolution processes using statistical distribution models [C]//Proc International Workshop Principles of Software Evolution (IWPSE). 2002: 120-123.
[13] LI D Y, HAN Y N, HU J. Complex network thinking in software engineering [C]//Proceedings of the International Conference on Computer Science and Software Engineering, 2008, 1: 264-268.
[14] WHEELDON R, COURNSELL S. Power law distributions in class relationships [C]//Proceedings of the 3rd IEEE International Workshop Source Code Analysis and Manipulation. 2003: 45-54.
[15] VENNERS B. Inside the Java Virtual Machine [M]. 2nd edition. New York: The McGraw-Hill Companies, Inc., 1996: 563-570.
[16] BRUEGGE B, DUTOIT A H. Object-Oriented Software Engineering using UML, Patterns and Java-(Required) [M]. Upper Saddle River, NJ, USA:Prentice Hall Press, 2004: 29-77.
[17] ROUBTSOV V. Cracking Java byte-code encryption [R/OL]. (2003)[2015-01-12]. http://www.javaworld.com/\linebreakarticle/2077342/core-jave/cracking-java-byte-code-encryption.html.
[18] MCCLUSKEY G. Using Java reflection [R/OL]. (1998-01-06)[2015-01-12].http://www.oracle.com/technetwork/\linebreakarticles/java/javareflection-1536171.html.
[19] The JavaTM tutorial [R/OL]. 6th edition. (2015)[2015-01-12]http://docs.oracle.com/javase/tutorial/.
[20] ATANAS R, ANA M, BARBARA G R. Fragment class analysis for testing of polymorphism in Java software [J]. IEEE Trans Softw Eng, 2004, 30:372-386.
[21] CLAUSET A, SHALIZI C R, NEWMAN M E J. Power-law distributions in empirical data [J]. SIAM Review, 2009, 51: 661-703.
[22] MYERS C R. Software systems as complex networks: structure, function, and evolvability of software collaboration graphs [J].Phys Rev E, 2003, 68: 046-116.
[23] NEWMAN, M. E. J. Networks An Introduction [M]. London: Oxford University Press, 2010: 235-266.
[24] ALBERT L B, R\'EKA A. Emergence of scaling in random networks [J].Science, 1999, 286: 509-512.
[25] CHEN T, LI K W, WANG S R, et al. Design and implementation of a tool of Java program analysis based on complex networks (in Chinese) [J].Computer Science, 2009, 36(4): 145-150.

Outlines

/