Skip to main content

Abstract

Modern software systems are characterized not only by a large number of constituent software entities (e.g. functions, modules, classes), but also by complex networks of dependencies among those entities. Analysis of software networks can help software engineers and researchers to understand and quantify software design complexity and evaluate software systems according to software design quality principles. In this chapter, we firstly give a comprehensive overview of previous research works dealing with analysis of software networks. Then, we present a novel network-based methodology to analyze software systems. The proposed methodology utilizes the notion of enriched software networks, i.e. software networks whose nodes are augmented with metric vectors containing both software metrics and metrics used in complex network analysis. The methodology is empirically validated on enriched software networks that represent large-scale Java software systems at different levels of abstraction.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    It should be noticed that compilation unit networks are considerably different from class collaboration networks since one compilation unit (a Java file) may contain definitions of more than one class and/or interface including also multiple inner classes/interfaces.

  2. 2.

    Other methods for resolving ties such as the smallest rank, the largest rank or a randomly selected rank can be employed as well.

References

  1. Al-Mutawa, H.A., Dietrich, J., Marsland, S., McCartin, C.: On the shape of circular dependencies in java programs. In: Proceedings of the 2014 23rd Australian Software Engineering Conference, ASWEC ’14, pp. 48–57. IEEE Computer Society, Washington, DC (2014). https://doi.org/10.1109/ASWEC.2014.15

  2. Barabasi, A.L., Albert, R.: Emergence of scaling in random networks. Science 286(5439), 509–512 (1999). https://doi.org/10.1126/science.286.5439.509

  3. Basili, V., Briand, L., Melo, W.: A validation of object-oriented design metrics as quality indicators. IEEE Trans Softw Eng 22(10), 751–761 (1996). https://doi.org/10.1109/32.544352

  4. Baxter, G., Frean, M., Noble, J., Rickerby, M., Smith, H., Visser, M., Melton, H., Tempero, E.: Understanding the shape of java software. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA ’06, pp. 397–412. ACM, New York (2006). https://doi.org/10.1145/1167473.1167507

  5. Bhattacharya, P., Iliofotou, M., Neamtiu, I., Faloutsos, M.: Graph-based analysis and prediction for software evolution. In: Proceedings of the 34th International Conference on Software Engineering, ICSE ’12, pp. 419–429. IEEE Press, Piscataway (2012)

    Google Scholar 

  6. Bieman, J.M., Kang, B.K.: Cohesion and reuse in an object-oriented system. In: Proceedings of the 1995 Symposium on Software Reusability, SSR ’95, pp. 259–262. ACM, New York (1995)

    Google Scholar 

  7. Bollobás, B.: Random Graphs. Cambridge University Press, Cambridge (2001)

    Book  Google Scholar 

  8. Briand, L.C., Daly, J.W., Wüst, J.: A unified framework for cohesion measurement in object-oriented systems. Empir. Softw. Eng. 3(1), 65–117 (1998). https://doi.org/10.1023/A:1009783721306

  9. Briand, L.C., Daly, J.W., Wüst, J.K.: A unified framework for coupling measurement in object-oriented systems. IEEE Trans. Softw. Eng. 25(1), 91–121 (1999)

    Article  Google Scholar 

  10. Brin, S., Page, L.: The anatomy of a large-scale hypertextual Web search engine. Comput. Netw. ISDN Syst. 30(1–7), 107–117 (1998). https://doi.org/10.1016/S0169-7552(98)00110-X

  11. Cai, K.Y., Yin, B.B.: Software execution processes as an evolving complex network. Inf. Sci. 179(12), 1903–1928 (2009). https://doi.org/10.1016/j.ins.2009.01.011

  12. Chaikalis, T., Chatzigeorgiou, A.: Forecasting Java software evolution trends employing network models. IEEE Trans. Softw. Eng. 41(6), 582–602 (2015). https://doi.org/10.1109/TSE.2014.2381249

  13. Chatzigeorgiou, A., Melas, G.: Trends in object-oriented software evolution: investigating network properties. In: Proceedings of the 34th International Conference on Software Engineering, ICSE ’12, pp. 1309–1312. IEEE Press, Piscataway (2012). https://doi.org/10.1109/ICSE.2012.6227092

  14. Chatzigeorgiou, A., Tsantalis, N., Stephanides, G.: Application of graph theory to OO software engineering. In: Proceedings of the 2006 International Workshop on Workshop on Interdisciplinary Software Engineering Research, WISER ’06, pp. 29–36. ACM, New York (2006). https://doi.org/10.1145/1137661.1137669

  15. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994). https://doi.org/10.1109/32.295895

  16. Chong, C.Y., Lee, S.P.: Analyzing maintainability and reliability of object-oriented software using weighted complex network. J. Syst. Softw. 110(C), 28–53 (2015). https://doi.org/10.1016/j.jss.2015.08.014

  17. Clauset, A., Shalizi, C., Newman, M.: Power-law distributions in empirical data. SIAM Rev. 51(4), 661–703 (2009). https://doi.org/10.1137/070710111

  18. Concas, G., Marchesi, M., Murgia, A., Tonelli, R.: An empirical study of social networks metrics in object-oriented software. Adv. Softw. Eng. 2010, 4:1–4:21 (2010). https://doi.org/10.1155/2010/729826

  19. Concas, G., Marchesi, M., Pinna, S., Serra, N.: Power-laws in a large object-oriented software system. IEEE Trans. Softw. Eng. 33(10), 687–708 (2007). https://doi.org/10.1109/TSE.2007.1019

  20. Concas, G., Monni, C., Orr, M., Tonelli, R.: A study of the community structure of a complex software network. In: 2013 4th International Workshop on Emerging Trends in Software Metrics (WETSoM), pp. 14–20 (2013). https://doi.org/10.1109/WETSoM.2013.6619331

  21. Eder, J., Kappel, G., Schrefl, M.: Coupling and cohesion in object-oriented systems, Technical report. University of Klagenfurt (1992)

    Google Scholar 

  22. Erceg-Hurn, D.M., Mirosevich, V.M.: Modern robust statistical methods: an easy way to maximize the accuracy and power of your research. Am. Psychol. 63(7), 591–601 (2008). https://doi.org/10.1037/0003-066X.63.7.591

  23. Fortuna, M.A., Bonachela, J.A., Levin, S.A.: Evolution of a modular software network. Proc. Natl. Acad. Sci. 108(50), 19985–19989 (2011). https://doi.org/10.1073/pnas.1115960108

  24. Fowler, M.: Reducing coupling. IEEE Softw. 18(4), 102–104 (2001). https://doi.org/10.1109/MS.2001.936226

  25. Freeman, L.C.: A set of measures of centrality based on betweenness. Sociometry 40, 35–41 (1977). https://doi.org/10.2307/3033543

  26. Gao, Y., Zheng, Z., Qin, F.: Analysis of Linux kernel as a complex network. Chaos Solitons Fractals 69, 246–252 (2014). https://doi.org/10.1016/j.chaos.2014.10.008

  27. Garlaschelli, D., Loffredo, M.: Patterns of link reciprocity in directed networks. Phys. Rev. Lett. 93, 268,701 (2004). https://doi.org/10.1103/PhysRevLett.93.268701

  28. Gillespie, C.: Fitting heavy tailed distributions: the power law package. J. Stat. Softw. 64(2), 1–16 (2015). https://doi.org/10.18637/jss.v064.i02

  29. Gyimothy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans. Softw. Eng. 31(10), 897–910 (2005). https://doi.org/10.1109/TSE.2005.112

  30. Hamilton, J., Danicic, S.: Dependence communities in source code. In: 28th IEEE International Conference on Software Maintenance (ICSM), pp. 579–582 (2012). https://doi.org/10.1109/ICSM.2012.6405325

  31. Harrison, R., Counsell, S., Nithi, R.: Coupling metrics for object-oriented design. In: Proceedings of Fifth International Software Metrics Symposium (Metrics 1998), pp. 150–157 (1998). https://doi.org/10.1109/METRIC.1998.731240

  32. Hitz, M., Montazeri, B.: Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing, pp. 25–27 (1995)

    Google Scholar 

  33. Hylland-Wood, D., Carrington, D., Kaplan, S.: Scale-free nature of Java software package, class and method collaboration graphs. Technical Report. TR-MS1286, MIND Laboratory, University of Maryland, College Park (2006)

    Google Scholar 

  34. Ichii, M., Matsushita, M., Inoue, K.: An exploration of power-law in use-relation of Java software systems. In: Proceedings of the 19th Australian Conference on Software Engineering, ASWEC ’08, pp. 422–431. IEEE Computer Society, Washington, DC (2008). https://doi.org/10.1109/ASWEC.2008.4483231

  35. Jenkins, S., Kirk, S.R.: Software architecture graphs as complex networks: a novel partitioning scheme to measure stability and evolution. Inf. Sci. 177, 2587–2601 (2007). https://doi.org/10.1016/j.ins.2007.01.021

  36. Jing, L., Keqing, H., Yutao, M., Rong, P.: Scale free in software metrics. In: 30th Annual International Computer Software and Applications Conference (COMPSAC’06), vol. 1, pp. 229–235 (2006). https://doi.org/10.1109/COMPSAC.2006.75

  37. Kleinberg, J.M.: Authoritative sources in a hyperlinked environment. J. ACM 46(5), 604–632 (1999). https://doi.org/10.1145/324133.324140

  38. Kohring, G.A.: Complex dependencies in large software systems. Adv. Complex Syst. 12(06), 565–581 (2009). https://doi.org/10.1142/S0219525909002362

  39. Labelle, N., Wallingford, E.: Inter-package dependency networks in open-source software. In: Proceedings of the 6th International Conference on Complex Systems (ICCS), paper no. 226 (2006)

    Google Scholar 

  40. Laval, J., Falleri, J., Vismara, P., Ducasse, S.: Efficient retrieval and ranking of undesired package cycles in large software systems. J. Object Technol. 11(1), 1–24 (2012). https://doi.org/10.5381/jot.2012.11.1.a4

  41. Leskovec, J., Kleinberg, J., Faloutsos, C.: Graph evolution: Densification and shrinking diameters. ACM Trans. Knowl. Discov. Data (TKDD) 1(1) (2007). https://doi.org/10.1145/1217299.1217301

  42. Li, H., Huang, B., Lu, J.: Dynamical evolution analysis of the object-oriented software systems. In: 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence), pp. 3030–3035 (2008). https://doi.org/10.1109/CEC.2008.4631207

  43. Li, H., Zhao, H., Cai, W., Xu, J.Q., Ai, J.: A modular attachment mechanism for software network evolution. Phys. A Stat. Mech. Appl. 392(9), 2025–2037 (2013). https://doi.org/10.1016/j.physa.2013.01.035

  44. Li, L., Alderson, D., Doyle, J.C., Willinger, W.: Towards a theory of scale-free graphs: definition, properties, and implications. Int. Math. 2(4), 431–523 (2005). https://doi.org/10.1080/15427951.2005.10129111

  45. Louridas, P., Spinellis, D., Vlachos, V.: Power laws in software. ACM Trans. Softw. Eng. Methodol. 18(1), 2:1–2:26 (2008). https://doi.org/10.1145/1391984.1391986

  46. Ma, Y.T., He, K.Q., Li, B., Liu, J., Zhou, X.Y.: A hybrid set of complexity metrics for large-scale object-oriented software systems. J. Comput. Sci. Technol. 25(6), 1184–1201 (2010). https://doi.org/10.1007/s11390-010-9398-x

  47. Maillart, T., Sornette, D., Spaeth, S., von Krogh, G.: Empirical tests of Zipf’s law mechanism in open source Linux distribution. Phys. Rev. Lett. 101, 218,701 (2008). https://doi.org/10.1103/PhysRevLett.101.218701

  48. Mann, H.B., Whitney, D.R.: On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Stat. 18(1), 50–60 (1947). https://doi.org/10.2307/2236101

  49. Melton, H., Tempero, E.: An empirical study of cycles among classes in Java. Empir. Softw. Eng. 12(4), 389–415 (2007). https://doi.org/10.1007/s10664-006-9033-1

  50. de Moura, A.P.S., Lai, Y.C., Motter, A.E.: Signatures of small-world and scale-free properties in large computer programs. Phys. Rev. E 68(1), 017,102 (2003). https://doi.org/10.1103/PhysRevE.68.017102

  51. Myers, C.R.: Software systems as complex networks: structure, function, and evolvability of software collaboration graphs. Phys. Rev. E 68(4), 046,116 (2003). https://doi.org/10.1103/PhysRevE.68.046116

  52. Newman, M.E.J.: Assortative mixing in networks. Phys. Rev. Lett. 89, 208,701 (2002). https://doi.org/10.1103/PhysRevLett.89.208701

  53. Oyetoyan, T.D., Cruzes, D.S., Conradi, R.: A study of cyclic dependencies on defect profile of software components. J. Syst. Softw. 86(12), 3162–3182 (2013). https://doi.org/10.1016/j.jss.2013.07.039

  54. Pan, W., Li, B., Ma, Y., Liu, J.: Multi-granularity evolution analysis of software using complex network theory. J. Syst. Sci. Complex. 24(6), 1068–1082 (2011). https://doi.org/10.1007/s11424-011-0319-z

  55. Parnas, D.L.: Designing software for ease of extension and contraction. IEEE Trans. Softw. Eng. SE-5(2), 128–138 (1979). https://doi.org/10.1109/TSE.1979.234169

  56. Paymal, P., Patil, R., Bhomwick, S., Siy, H.: Empirical study of software evolution using community detection. Technical Report, Department of Computer Science, University of Nebraska, Omaha, USA (2011)

    Google Scholar 

  57. Potanin, A., Noble, J., Frean, M., Biddle, R.: Scale-free geometry in OO programs. Commun. ACM 48, 99–103 (2005). https://doi.org/10.1145/1060710.1060716

  58. Puppin, D., Silvestri, F.: The social network of Java classes. In: Proceedings of the 2006 ACM Symposium on Applied Computing, SAC ’06, pp. 1409–1413. ACM, New York (2006). https://doi.org/10.1145/1141277.1141605

  59. Qu, Y., Guan, X., Zheng, Q., Liu, T., Wang, L., Hou, Y., Yang, Z.: Exploring community structure of software call graph and its applications in class cohesion measurement. J. Syst. Softw. 108, 193–210 (2015). https://doi.org/10.1016/j.jss.2015.06.015

  60. Qu, Y., Guan, X., Zheng, Q., Liu, T., Zhou, J., Li, J.: Calling network: a new method for modeling software runtime behaviors. ACM SIGSOFT Softw. Eng. Notes 40(1), 1–8 (2015). https://doi.org/10.1145/2693208.2693223

  61. Radicchi, F., Castellano, C., Cecconi, F., Loreto, V., Parisi, D.: Defining and identifying communities in networks. Proc. Natl. Acad. Sci. 101(9), 2658–2663 (2004). https://doi.org/10.1073/pnas.0400054101

  62. Radjenović, D., Heričko, M., Torkar, R., Živkovič, A.: Software fault prediction metrics. Inf. Softw. Technol. 55(8), 1397–1418 (2013). https://doi.org/10.1016/j.infsof.2013.02.009

  63. Rakić, G.: Extendable and adaptable framework for input language independent static analysis. Ph.D. thesis, University of Novi Sad, Faculty of Sciences (2015)

    Google Scholar 

  64. Rakić, G., Budimac, Z.: Introducing enriched concrete syntax trees. In: Proceedings of the 14th International Multiconference on Information Society (IS), Collaboration, Software And Services In Information Society (CSS), pp. 211–214 (2011)

    Google Scholar 

  65. Redner, S.: Citation Statistics from 110 Years of Physical Review. Phys. Today 58(6), 49–54 (2005). https://doi.org/10.1063/1.1996475

  66. Savić, M., Ivanović, M.: Graph clustering evaluation metrics as software metrics. In: Proceedings of the 3rd Workshop on Software Quality Analysis, Monitoring, Improvement and Applications (SQAMIA 2014), Lovran, Croatia, September 19–22, 2014, vol. 1266, pp. 81–89 (2014). http://CEUR-WS.org

  67. Savić, M., Ivanović, M.: Validation of static program analysis tools by self-application: a case study. In: Proceedings of the 4th Workshop on Software Quality Analysis, Monitoring, Improvement and Applications (SQAMIA 2015), Maribor, Slovenia, June 8–10, 2015, vol. 1375, pp. 61–68 (2015). http://CEUR-WS.org

  68. Savić, M., Ivanović, M., Radovanović, M.: Characteristics of class collaboration networks in large Java software projects. Inf. Technol. Control 40(1), 48–58 (2011). https://doi.org/10.5755/j01.itc.40.1.192

  69. Savić, M., Ivanović, M., Radovanović, M.: Connectivity properties of the Apache Ant class collaboration network. In: 15th International Conference on System Theory, Control and Computing, pp. 544–549 (2011). http://ieeexplore.ieee.org/document/6085650/

  70. Savić, M., Ivanović, M., Radovanović, M.: Analysis of high structural class coupling in object-oriented software systems. Computing 99(11), 1055–1079 (2017). https://doi.org/10.1007/s00607-017-0549-6

  71. Savić, M., Radovanović, M., Ivanović, M.: Community detection and analysis of community evolution in Apache Ant class collaboration networks. In: Proceedings of the Fifth Balkan Conference in Informatics, BCI ’12, pp. 229–234. ACM, New York (2012). https://doi.org/10.1145/2371316.2371361

  72. Savić, M., Rakić, G., Budimac, Z.: Translation of Tempura specifications to eCST. AIP Conf. Proc. 1738(1), 240,009 (2016). https://doi.org/10.1063/1.4952028

  73. Savić, M., Rakić, G., Budimac, Z., Ivanović, M.: Extractor of software networks from enriched concrete syntax trees. AIP Conf. Proc. 1479(1), 486–489 (2012). https://doi.org/10.1063/1.4756172

  74. Savić, M., Rakić, G., Budimac, Z., Ivanović, M.: A language-independent approach to the extraction of dependencies between source code entities. Inf. Softw. Technol. 56(10), 1268–1288 (2014). https://doi.org/10.1016/j.infsof.2014.04.011

  75. Sora, I.: A PageRank based recommender system for identifying key classes in software systems. In: 10th IEEE Jubilee International Symposium on Applied Computational Intelligence and Informatics, pp. 495–500 (2015). https://doi.org/10.1109/SACI.2015.7208254

  76. Steidl, D., Hummel, B., Juergens, E.: Using network analysis for recommendation of central software classes. In: 19th Working Conference on Reverse Engineering, pp. 93–102 (2012). https://doi.org/10.1109/WCRE.2012.19

  77. Stumpf, M.P.H., Porter, M.A.: Critical truths about power laws. Science 335(6069), 665–666 (2012). https://doi.org/10.1126/science.1216142

  78. Subramanyam, R., Krishnan, M.: Empirical analysis of ck metrics for object-oriented design complexity: implications for software defects. IEEE Trans. Softw. Eng. 29(4), 297–310 (2003). https://doi.org/10.1109/TSE.2003.1191795

  79. Sudeikat, J., Renz, W.: On complex networks in software: how agentorientation effects software structures. In: H.D. Burkhard, G. Lindemann, R. Verbrugge, L.Z. Varga (eds.) Multi-Agent Systems and Applications V. Lecture Notes in Computer Science, vol. 4696, pp. 215–224. Springer, Berlin (2007). https://doi.org/10.1007/978-3-540-75254-7_22

  80. Sun, S., Xia, C., Chen, Z., Sun, J., Wang, L.: On structural properties of large-scale software systems: from the perspective of complex networks. In: 2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery, vol. 7, pp. 309–313 (2009). https://doi.org/10.1109/FSKD.2009.635

  81. Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972). https://doi.org/10.1137/0201010

  82. Taube-Schock, C., Walker, R.J., Witten, I.H.: Can we avoid high coupling? In: M. Mezini (ed.) ECOOP 2011 Object-Oriented Programming. Lecture Notes in Computer Science, vol. 6813, pp. 204–228. Springer, Berlin (2011). https://doi.org/10.1007/978-3-642-22655-7_10

  83. Turnu, I., Marchesi, M., Tonelli, R.: Entropy of the degree distribution and object-oriented software quality. In: 3rd International Workshop on Emerging Trends in Software Metrics (WETSoM), pp. 77–82 (2012). https://doi.org/10.1109/WETSoM.2012.6226997

  84. Valverde, S., Cancho, R.F., Solé, R.V.: Scale-free networks from optimal design. EPL (Europhys. Lett.) 60(4), 512–517 (2002). https://doi.org/10.1209/epl/i2002-00248-2

  85. Valverde, S., Solé, V.: Hierarchical small worlds in software architecure. Dyn. Contin. Discret. Impuls. Syst. Ser. B Appl. Algorithms 14(S6), 305–315 (2007)

    Google Scholar 

  86. Vasa, R., Schneider, J.G., Nierstrasz, O.: The inevitable stability of software change. In: 2007 IEEE International Conference on Software Maintenance, pp. 4–13 (2007). https://doi.org/10.1109/ICSM.2007.4362613

  87. Vasa, R., Schneider, J.G., Woodward, C., Cain, A.: Detecting structural changes in object oriented software systems. In: 2005 International Symposium on Empirical Software Engineering, pp. 8 pp.– (2005). 10.1109/ISESE.2005.1541855

    Google Scholar 

  88. Šubelj, L., Bajec, M.: Community structure of complex software systems: analysis and applications. Phys. A Stat. Mech. Appl. 390(16), 2968–2975 (2011). https://doi.org/10.1016/j.physa.2011.03.036

  89. Wang, L., Wang, Z., Yang, C., Zhang, L., Ye, Q.: Linux kernels as complex networks: a novel method to study evolution. IEEE International Conference on Software Maintenance (ICSM 2009) pp. 41–50 (2009). https://doi.org/10.1109/ICSM.2009.5306348

  90. Wang, L., Yu, P., Wang, Z., Yang, C., Ye, Q.: On the evolution of Linux kernels: a complex network perspective. J. Softw. Evol. Process 25(5), 439–458 (2013). https://doi.org/10.1002/smr.1550

  91. Watts, D.J., Strogatz, S.H.: Collective dynamics of “small-world” networks. Nature 393, 440–442 (1998). https://doi.org/10.1038/30918

  92. Wen, H., DSouza, R.M., Saul, Z.M., Filkov, V.: Evolution of apache open source software. In: N. Ganguly, A. Deutsch, A. Mukherjee (eds.) Dynamics On and Of Complex Networks, Modeling and Simulation in Science, Engineering and Technology, pp. 199–215. Birkhuser Boston (2009). https://doi.org/10.1007/978-0-8176-4751-3_12

  93. Wen, L., Dromey, R.G., Kirk, D.: Software engineering and scale-free networks. IEEE Trans. Syst. Man Cybern. Part B Cybern. 39, 845–854 (2009). https://doi.org/10.1109/TSMCB.2009.2020206

  94. Wheeldon, R., Counsell, S.: Power law distributions in class relationships. In: Proceedings of the Third IEEE International Workshop on Source Code Analysis and Manipulation, pp. 45–54 (2003). https://doi.org/10.1109/SCAM.2003.1238030

  95. Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, 1st edn. Prentice-Hall Inc, Upper Saddle River, NJ, USA (1979)

    MATH  Google Scholar 

  96. Yuan, P., Jin, H., Deng, K., Chen, Q.: Analyzing software component graphs of grid middleware: hint to performance improvement. In: Proceedings of the 8th Internationsl Conference on Algorithms and Architectures for Parallel Processing (ICA3PP), pp. 305–315 (2008). https://doi.org/10.1007/978-3-540-69501-1_32

  97. Zaidman, A., Demeyer, S.: Automatic identification of key classes in a software system using webmining techniques. J. Softw. Maint. Evol. Res. Pract. 20(6), 387–417 (2008). https://doi.org/10.1002/smr.370

  98. Zanetti, M.S., Schweitzer, F.: A network perspective on software modularity. In: ARCS 2012 Workshops, pp. 175–186 (2012)

    Google Scholar 

  99. Zanetti, M.S., Tessone, C.J., Scholtes, I., Schweitzer, F.: Automated software remodularization based on move refactoring: a complex systems approach. In: Proceedings of the 13th International Conference on Modularity, MODULARITY ’14, pp. 73–84. ACM, New York (2014). https://doi.org/10.1145/2577080.2577097

  100. Zheng, X., Zeng, D., Li, H., Wang, F.: Analyzing open-source software systems as complex networks. Phys. A. Stat. Mech. Appl. 387(24), 6190–6200 (2008). https://doi.org/10.1016/j.physa.2008.06.050

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miloš Savić .

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Savić, M., Ivanović, M., Jain, L.C. (2019). Analysis of Software Networks. In: Complex Networks in Software, Knowledge, and Social Systems. Intelligent Systems Reference Library, vol 148. Springer, Cham. https://doi.org/10.1007/978-3-319-91196-0_3

Download citation

Publish with us

Policies and ethics