中国综合性科技类核心期刊(北大核心)

中国科学引文数据库来源期刊(CSCD)

美国《化学文摘》(CA)收录

美国《数学评论》(MR)收录

俄罗斯《文摘杂志》收录

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

Complex network analysis in Java application systems

SHEN Ping-ting CHEN Liang-yu

沈娉婷, 陈良育. Java, 应用系统的复杂网络分析[J]. 华东师范大学学报(自然科学版), 2017, (1): 38-51. doi: 10.3969/j.issn.1000-5641.2017.01.006
引用本文: 沈娉婷, 陈良育. Java, 应用系统的复杂网络分析[J]. 华东师范大学学报(自然科学版), 2017, (1): 38-51. doi: 10.3969/j.issn.1000-5641.2017.01.006
Ping-ting SHEN, Liang-yu CHEN. Complex network analysis in Java application systems[J]. Journal of East China Normal University (Natural Sciences), 2017, (1): 38-51. doi: 10.3969/j.issn.1000-5641.2017.01.006
Citation: Ping-ting SHEN, Liang-yu CHEN. Complex network analysis in Java application systems[J]. Journal of East China Normal University (Natural Sciences), 2017, (1): 38-51. doi: 10.3969/j.issn.1000-5641.2017.01.006

Java, 应用系统的复杂网络分析

doi: 10.3969/j.issn.1000-5641.2017.01.006
基金项目: 国家自然科学基金, (61321064); 上海市重点学科建设项目, (B412)
详细信息
  • 中图分类号: O231

Complex network analysis in Java application systems

More Information
    Author Bio:

    沈娉婷, 女, 硕士研究生, 研究方向为数据库与数据挖掘. E-mail: spt0726@hotmail.com

    Corresponding author: 陈良育, 男, 副教授, 研究方向为符号计算.E-mail: lychen@sei.ecnu.edu.cn
  • 摘要: 大量研究表明, Java, 软件系统是一种人工复杂网络, 它的入度分布符合幂律, 然而出度却是对数正态分布.现有的这些研究都仅仅以, Java, 开发工具包, 如, JDK、log4j, 和, Tomcat, 这一类软件系统为研究对象. 除此之外, 所分析的数据类型也很有限, 只考虑了程序包与类的依赖关系, 忽略了很多有用的数据类型, 比如函数成员变量和函数临时变量.本文将这两类数据类型纳入了研究范畴, 拓展了类依赖关系. 不仅如此, 本文也将研究粒度细化至函数层面, 构建了函数依赖图.针对这两类依赖关系, 本文提出了将系统转化为加权有向网络图的理论方法.全面的实验结果显示, 本文所选取的, 10, 类, Java, 应用系统, 无论是出度还是入度绝大多数都符合幂律分布, 由此证明了所提出的理论方法, 验证了有向加权网络是否具有无标度特性在分析Java应用系统网络结构时是有效的.
  • Fig.  1  A sample of Java class binary file

    Fig.  2  (a) CDG network of focusns; (b) FDG network of focusns

    Fig.  3  In-degree distributions of CDG[3R] and CDG[5R] networks in all 10 types of systems (a) Blog and SNS systems; (b) ERP and CRM systems; (c) WebMail systems; (d) GIS systems; (e) Portal systems; (f) CMS systems; (g) Bug tracking systems; (h) LMS systems; (i) Wiki systems; (j) Forum systems

    Fig.  4  Out-degree distributions of CDG[3R] and CDG[5R] networks in all 10 types of systems (a) Blog and SNS systems; (b) ERP and CRM systems; (c) WebMail systems; (d) GIS systems; (e) Portal systems; (f) CMS systems; (g) Bug tracking systems; (h) LMS systems; (i) Wiki systems; (j) Forum systems

    Fig.  5  In- and out-degree distributions of FDG networks in all 10 types of systems (a) Blog and SNS systems; (b) ERP and CRM systems; (c) WebMail systems; (d) GIS systems; (e) Portal systems; (f) CMS systems; (g) Bug tracking systems; (h) LMS systems; (i) Wiki systems; (j) Forum systems

    Tab.  1  CDG and FDG networks for 10 types of Java application systems

    NetworkDescription|V||E||Vf||Ef|
    GISToolkitGIS system4702 4674681 488
    OpenGTSGIS system3572 47467 047 122
    OpenJUMPGIS system1 3698 4296 0628 815
    dotCMSCMS system2 41213 8012 3826 680
    infoGlueCMS system1 3716 8911 3593 375
    OpenCmsCMS system1 57212 2881 5586 452
    eConfLMS system61169134103
    a-LMSLMS system4401 8611 9881 759
    OLMSLMS system13035814197
    JSPWikiWiki system4892 0561 8431 927
    JAMWikiWiki system150744762770
    FitNesseWiki system6722 7891 9571 764
    jforumForum system3551 5871 2901 423
    jGossipForum system263919507611
    YazdForum system218885891793
    jPortletPortal system133555318273
    OpenPortalPortal system841518792
    PlutoPortal system3511 189821706
    GatorMailWebMail system110324269197
    OlivaMailWebMail system60247191215
    yawebmailWebMail system76196157139
    FocusSNSBlog and SNS system299913283491
    PebbleBlog and SNS system6553 0032 2952 875
    RollerBlog and SNS system5132 8432 5363 314
    ITrackerBug tracking system3861 835382736
    BugRatBug tracking system74383364513
    ScarabBug tracking system5752 4495 9475 332
    HipergateERP and CRM system6432 5173 1813 366
    SourceTapERP and CRM system169737652636
    OpenCustomerERP and CRM system3982 0191 1511 392
    下载: 导出CSV

    Tab.  2  The invocation number of the maximum node in each system

    NetworkR1R2R3R4R5
    GISToolkit1201558654
    OpenGTS3039133560
    OpenJUMP17939464179
    dotCMS303900349243
    infoGlue40185058199
    OpenCms0107 1 8942921 162
    eConf012514
    a-LMS10309522
    OLMS0001559
    JSPWiki1571265273
    JAMWiki074204
    FitNesse24827910325
    jforum056558989
    jGossip10105182
    Yazd119392714
    jPortlet40101110
    OpenPortal00816
    Pluto17563314
    GatorMail001047
    OlivaMail0112627
    yawebmail11406
    FocusSNS1931248
    Pebble03286132147
    Roller130981040
    ITracker1210394
    BugRat0025051101
    Scarab12726618745
    Hipergate031514639
    SourceTap01504525
    OpenCustomer0175910038
    下载: 导出CSV

    Tab.  3  Value of α and xmin in all ten types of Java application networks

    NetworkCDG networks[5R]CDG networks[3R]FDG networks
    ${\alpha}^{in}$$x_{\min}^{in}$${\alpha}^{out}$$x_{\min}^{out}$${\alpha}^{in}$$x_{\min}^{in}$${\alpha}^{out}$$x_{\min}^{out}$${\alpha}^{in}$$x_{\min}^{in}$${\alpha}^{out}$$x_{\min}^{out}$
    GISToolkit2.0164.23391.9632.7281.8013.3814
    OpenGTS2.01272.08202.0282.2682.5023.843
    OpenJUMP2.09124.33422.1983.41162.2224.256
    dotCMS1.8162.19352.02241.9653.3662.726
    infoGlue1.8152.03111.8812.2561.7932.024
    OpenCms1.90112.34361.9462.35171.8442.2916
    eConf3.0393.56102.7053.3853.1012.821
    a-LMS1.9682.1791.6512.1952.8024.752
    OLMS1.8522.2562.5112.3812.5914.891
    JSPWiki1.6113.31331.9132.3042.8042.701
    JAMWiki1.90102.57231.6312.47132.2624.622
    FitNesse1.9963.20181.7814.03162.6622.871
    jforum2.15323.92341.7812.9262.8055.004
    jGossip1.9543.0562.1312.8242.6115.004
    Yazd1.8771.9661.8612.2652.3015.003
    jPortlet2.35122.3282.1242.6352.4012.611
    OpenPortal2.2122.2822.5223.1032.2612.832
    Pluto2.4782.66112.4152.4842.9222.671
    GatorMail2.0033.0052.1012.4522.6813.491
    OlivaMail2.34102.6773.5142.0512.3812.371
    yawebmail3.3592.1931.8112.7843.0323.322
    FocusSNS1.7112.5771.9015.00112.75154.588
    Pebble1.7312.79141.8932.7132.4954.033
    Roller1.8442.61201.7712.4152.3624.545
    ITracker2.94832.57152.37182.1022.3112.363
    BugRat1.4212.56212.0552.7782.1322.101
    Scarab2.32372.62412.56292.44212.3014.251
    Hipergate2.19172.59242.0752.72152.3923.433
    SourceTap1.6412.1181.6222.3752.4512.681
    OpenCustomer1.9445.00272.1234.13102.1912.311
    下载: 导出CSV

    Tab.  4  p-values in all ten types of Java application networks

    NetworkCDG networks[5R]CDG networks[3R]FDG networks
    p-valueinp-valueoutp-valueinp-valueoutp-valueinp-valueout
    GISToolkit0.07080.20840.637 60.001 20.344 40.1764
    OpenGTS0.64140.011 20.352 00.813 60.543 60.027 6
    OpenJUMP0.407 20.766 40.928 40.088 80.741 20.5608
    dotCMS0.034 40.001 20.664 00.008 00.234 00.168 0
    infoGlue0.218 80.175 60.794 00.041 60.326 00.0392
    OpenCms0.232 80.144 40.289 20.745 20.127 60.566 8
    eConf0.476 40.756 80.477 20.199 20.339 60.832 4
    a-LMS0.004 80.205 60.004 00.258 00.558 80.035 2
    OLMS0.020 80.055 60.342 00.666 40.382 80.497 2
    JSPWiki0.000 00.593 60.595 60.027 20.342 40.000 0
    JAMWiki0.297 60.902 80.000 40.195 20.548 80.365 6
    FitNesse0.027 60.255 20.019 20.917 60.461 60.0000
    jforum0.772 00.620 00.000 00.084 40.193 20.241 2
    jGossip0.305 20.059 60.001 60.860 80.079 60.692 8
    Yazd0.495 60.060 80.053 20.302 00.014 40.208 8
    jPortlet0.458 80.017 20.714 00.529 60.003 20.1716
    OpenPortal0.188 00.020 00.001 60.710 80.360 80.2524
    Pluto0.437 20.872 00.632 40.368 00.326 80.000 0
    GatorMail0.467 20.818 40.016 40.620 00.442 40.1440
    OlivaMail0.503 20.800 40.110 80.047 60.512 00.1420
    yawebmail0.658 00.665 60.004 80.562 00.549 20.0752
    FocusSNS0.001 60.042 80.080 40.939 60.695 60.7408
    Pebble0.000 00.613 60.643 20.001 60.264 00.012 4
    Roller0.045 60.353 20.000 40.666 80.916 00.026 8
    ITracker0.817 20.010 40.824 40.363 60.258 40.0416
    BugRat0.005 60.463 60.228 80.77280.43640.000 0
    Scarab0.307 60.229 20.00160.98080.00000.000 0
    Hipergate0.577 20.226 80.74160.28120.068 00.7228
    SourceTap0.528 40.001 20.70840.04480.606 00.0000
    OpenCustomer0.260 80.78680.56080.73000.31440.0000
    下载: 导出CSV
  • [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. doi:  10.1109/TSE.2007.1019
    [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. doi:  10.1142/S0219525909002362
    [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. doi:  10.1016/j.physa.2008.06.050
    [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. doi:  10.1016/j.physa.2006.02.024
    [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/linebreak articles/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. doi:  10.1109/TSE.2004.20
    [21] CLAUSET A, SHALIZI C R, NEWMAN M E J. Power-law distributions in empirical data [J]. SIAM Review, 2009, 51: 661-703. doi:  10.1137/070710111
    [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. http://www.baidu.com/link?url=kXQxI2p7hlDxDCeW4uwQvHOAMlezMYRB7DcxS3iyGg_lrJRrxss4hZ9495N1M_9KE9O-aW1Zj3AnXfmXkof7j9PCgjtV55VmMqY-S2jsxIcTrGJoUKWWyy1pxT4zco_IsErDY3bXqbj9fGBsIpL6FRGxlbzGQ457psEg-z3iCH-0RVATsahkVyo-dYzMVcP2dqwCYLpNDpoBRGuvnSaRgMR1UCuQDZ0QTxGXLt5ud1Vtb7pBjY6WY3x2oxeaK6YTiPlIMa-xiWDdMNF6j5DuZ_57BIgD7IlZFwbfzZ6u1yfCiSqRZWtAtaVAJhdbgDeAZiUSbdid6knGiEdEpscdUMDxVHVqgV83DFQTXqLua7j17dZx23-eSqcd0w-PTnlyCZ7V6iQdMynaGrut7OSIiK&wd=&eqid=df0e1b070001abaa0000000558b91cd9
    [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. doi:  10.1126/science.286.5439.509
    [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.
  • 加载中
图(5) / 表(4)
计量
  • 文章访问数:  319
  • HTML全文浏览量:  86
  • PDF下载量:  890
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-12-29
  • 刊出日期:  2017-01-25

目录

    /

    返回文章
    返回