Advertisement

Introduction to Complex Networks

  • Miloš SavićEmail author
  • Mirjana Ivanović
  • Lakhmi C. Jain
Chapter
Part of the Intelligent Systems Reference Library book series (ISRL, volume 148)

Abstract

Complex networks are graphs describing complex natural, conceptual and engineered systems. In this chapter we present an introduction to complex networks by giving several examples of technological, social, information and biological networks. Then, we discuss complex networks that are in the focus of this monograph (software, ontology and co-authorship networks). Finally, we briefly outline our main research contributions presented in the monograph.

References

  1. 1.
    Albert, R., Barabási, A.L.: Statistical mechanics of complex networks. Rev. Mod. Phys. 74(1), 47–97 (2002).  https://doi.org/10.1103/RevModPhys.74.47
  2. 2.
    Albert, R., Jeong, H., Barabasi, A.: Error and attack tolerance of complex networks. Nature 406(6794), 378–382 (2000).  https://doi.org/10.1038/35019019
  3. 3.
    Albert, R., Jeong, H., Barabási, A.L.: Diameter of the world wide web. Nature 401, 130–131 (1999).  https://doi.org/10.1038/43601
  4. 4.
    Andrade Jr., J.S., Bezerra, D.M., Ribeiro Filho, J., Moreira, A.A.: The complex topology of chemical plants. Phys. A Stat. Mech. Appl. 360(2), 637–643 (2006).  https://doi.org/10.1016/j.physa.2005.06.092
  5. 5.
    Anquetil, N., Fourrier, C., Lethbridge, T.C.: Experiments with clustering as a software remodularization method. In: Proceedings of the Sixth Working Conference on Reverse Engineering, WCRE ’99, pp. 235–255. IEEE Computer Society, Washington, DC, USA (1999).  https://doi.org/10.1109/WCRE.1999.806964
  6. 6.
    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
  7. 7.
    Berners-Lee, T., Hendler, J., Lassila, O.: The semantic web. Sci. Am. 284(5), 34–43 (2001)CrossRefGoogle Scholar
  8. 8.
    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, NJ, USA (2012)Google Scholar
  9. 9.
    Boccaletti, S., Latora, V., Moreno, Y., Chavez, M., Hwang, D.: Complex networks: structure and dynamics. Phys. Rep. 424(45), 175–308 (2006).  https://doi.org/10.1016/j.physrep.2005.10.009
  10. 10.
    Bollobás, B.: Random graphs. Cambridge University Press, Cambridge (2001)CrossRefGoogle Scholar
  11. 11.
    Bollobás, B., Riordan, O.: Robustness and vulnerability of scale-free random graphs. Internet Math. 1(1), 1–35 (2003).  https://doi.org/10.1080/15427951.2004.10129080
  12. 12.
    Borgatti, S.P., Mehra, A., Brass, D.J., Labianca, G.: Network analysis in the social sciences. Science 323(5916), 892–895 (2009).  https://doi.org/10.1126/science.1165821
  13. 13.
    Buckner, J., Buchta, J., Petrenko, M., Rajlich, V.: Jripples: a tool for program comprehension during incremental change. In: Proceedings of the 13th International Workshop on Program Comprehension, IWPC ’05, pp. 149–152. IEEE Computer Society, Washington, DC, USA (2005).  https://doi.org/10.1109/WPC.2005.22
  14. 14.
    Cancho, R.F., Solé, R.V.: The small world of human language. Proc. R. Soc. Lond. Ser B Biol Sci. 268(1482), 2261–2265 (2001).  https://doi.org/10.1098/rspb.2001.1800
  15. 15.
    Cancho, RFi, Janssen, C., Solé, R.V.: Topology of technology graphs: small world patterns in electronic circuits. Phys. Rev. E 64, 046119 (2001).  https://doi.org/10.1103/PhysRevE.64.046119
  16. 16.
    Chikofsky, E.J., Cross II, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Softw. 7(1), 13–17 (1990).  https://doi.org/10.1109/52.43044
  17. 17.
    Chiricota, Y., Jourdan, F., Melançon, G.: Software components capture using graph clustering. In: Proceedings of the 11th IEEE International Workshop on Program Comprehension, IWPC ’03, pp. 217–226. IEEE Computer Society, Washington, DC, USA (2003).  https://doi.org/10.1109/WPC.2003.1199205
  18. 18.
    Coskun, G., Rothe, M., Teymourian, K., Paschke, A.: Applying community detection algorithms on ontologies for identifying concept groups. In: Kutz, O., Schneider, T. (eds.) Workshop on Modular Ontologies, vol. 230, pp. 12–24. IOS Press (2011).  https://doi.org/10.3233/978-1-60750-799-4-12
  19. 19.
    Costa, L.d.F., Oliveira, O., Travieso, G., Rodrigues, F.A., Villas Boas, P., Antiqueira, L., Viana, M.P., Correa Rocha, L.: Analyzing and modeling real-world phenomena with complex networks: a survey of applications. Adv. Phys. 60(3), 329–412 (2011).  https://doi.org/10.1080/00018732.2011.572452
  20. 20.
    Erdős, P., Rényi, A.: On random graphs I. Publ. Math. Debr. 6, 290–297 (1959)zbMATHGoogle Scholar
  21. 21.
    Erdős, P., Rényi, A.: On the evolution of random graphs. Publ. Math. Inst. Hung. Acad. Sci. 5, 17–61 (1960)MathSciNetzbMATHGoogle Scholar
  22. 22.
    Faloutsos, M., Faloutsos, P., Faloutsos, C.: On power-law relationships of the internet topology. ACM SIGCOMM Comput. Commun. Rev. 29, 251–262 (1999).  https://doi.org/10.1145/316194.316229
  23. 23.
    Girvan, M., Newman, M.E.J.: Community structure in social and biological networks. Proc. Natl. Acad. Sci. 99(12), 7821–7826 (2002).  https://doi.org/10.1073/pnas.122653799
  24. 24.
    Goffman, C.: And what is your Erdős number? Am. Math. Mont. 76(7), 149 (1969)zbMATHGoogle Scholar
  25. 25.
    Grossman, J.W.: Paul Erds: the master of collaboration. In: Graham, R.L., Nettil, J., Butler, S. (eds.) The Mathematics of Paul Erds II, pp. 489–496. Springer, New York (2013).  https://doi.org/10.1007/978-1-4614-7254-4_27
  26. 26.
    Gruber, T.R.: A translation approach to portable ontology specifications. Knowl. Acquisition 5(2), 199–220 (1993).  https://doi.org/10.1006/knac.1993.1008
  27. 27.
    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, USA (2006)Google Scholar
  28. 28.
    Inoue, K., Yokomori, R., Yamamoto, T., Matsushita, M., Kusumoto, S.: Ranking significance of software components based on use relations. IEEE Trans. Softw. Eng. 31(3), 213–225 (2005).  https://doi.org/10.1109/TSE.2005.38
  29. 29.
    Jain, L.C.: Soft Computing Techniques in Knowledge-Based Intelligent Engineering Systems. Springer, Berlin (1997)zbMATHGoogle Scholar
  30. 30.
    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
  31. 31.
    Katifori, A., Halatsis, C., Lepouras, G., Vassilakis, C., Giannopoulou, E.: Ontology visualization methods – a survey. ACM Comput. Surv. 39(4) (2007).  https://doi.org/10.1145/1287620.1287621
  32. 32.
    Kienle, H.M., Müller, H.A.: Rigi - an environment for software reverse engineering, exploration, visualization, and redocumentation. Sci. Comput. Progr. 75(4), 247–263 (2010).  https://doi.org/10.1016/j.scico.2009.10.007
  33. 33.
    Kumar, R., Raghavan, P., Rajagopalan, S., Tomkins, A.: Extracting large-scale knowledge bases from the web. In: Proceedings of the 25th International Conference on Very Large Data Bases (VLDB ’99), pp. 639–650 (1999)Google Scholar
  34. 34.
    Lanza, M., Ducasse, S.: Polymetric views - a lightweight visual approach to reverse engineering. IEEE Trans. Softw. Eng. 29(9), 782–795 (2003).  https://doi.org/10.1109/TSE.2003.1232284
  35. 35.
    Leskovec, J., Kleinberg, J., Faloutsos, C.: Graph evolution: densification and shrinking diameters. ACM Trans. Knowl. Discov. Data 1(1) (2007).  https://doi.org/10.1145/1217299.1217301
  36. 36.
    Liben-Nowell, D., Kleinberg, J.: The link prediction problem for social networks. In: Proceedings of the Twelfth International Conference on Information and Knowledge Management, CIKM ’03, pp. 556–559. ACM, New York, NY, USA (2003).  https://doi.org/10.1145/956863.956972
  37. 37.
    Lucia, A.D., Deufemia, V., Gravino, C., Risi, M.: Design pattern recovery through visual language parsing and source code analysis. J. Syst. Softw. 82(7), 1177–1193 (2009).  https://doi.org/10.1016/j.jss.2009.02.012
  38. 38.
    Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y., Gansner, E.R.: Using automatic clustering to produce high-level system organizations of source code. In: Proceedings of the 6th International Workshop on Program Comprehension, IWPC ’98, pp. 45–52. IEEE Computer Society, Washington, DC, USA (1998).  https://doi.org/10.1109/WPC.1998.693283
  39. 39.
    Maqbool, O., Babri, H.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33(11), 759–780 (2007).  https://doi.org/10.1109/TSE.2007.70732
  40. 40.
    Martin, T., Ball, B., Karrer, B., Newman, M.E.J.: Coauthorship and citation patterns in the physical review. Phys. Rev. E 88, 012814 (2013).  https://doi.org/10.1103/PhysRevE.88.012814
  41. 41.
    Myers, C.R.: Software systems as complex networks: structure, function, and evolvability of software collaboration graphs. Phys. Rev. E 68(4), 046116 (2003).  https://doi.org/10.1103/PhysRevE.68.046116
  42. 42.
    Newman, M.: Networks: An Introduction. Oxford University Press Inc., New York (2010)CrossRefGoogle Scholar
  43. 43.
    Newman, M.E.J.: The structure of scientific collaboration networks. Proc. Natl. Acad. Sci. 98(2), 404–409 (2001).  https://doi.org/10.1073/pnas.98.2.404
  44. 44.
    Newman, M.E.J.: Assortative mixing in networks. Phys. Rev. Lett. 89, 208701 (2002).  https://doi.org/10.1103/PhysRevLett.89.208701
  45. 45.
    Newman, M.E.J.: Mixing patterns in networks. Phys. Rev. E 67, 026126 (2003).  https://doi.org/10.1103/PhysRevE.67.026126
  46. 46.
    Newman, M.E.J.: The structure and function of complex networks. SIAM Rev. 45, 167–256 (2003).  https://doi.org/10.1137/S003614450342480
  47. 47.
    Newman, M.E.J., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69(2), 026113 (2004).  https://doi.org/10.1103/PhysRevE.69.026113
  48. 48.
    Oliveto, R., Gethers, M., Bavota, G., Poshyvanyk, D., De Lucia, A.: Identifying method friendships to remove the feature envy bad smell. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, pp. 820–823. ACM, New York, NY, USA (2011).  https://doi.org/10.1145/1985793.1985913
  49. 49.
    Pastor-Satorras, R., Vespignani, A.: Epidemic spreading in scale-free networks. Phys. Rev. Lett. 86, 3200–3203 (2001).  https://doi.org/10.1103/PhysRevLett.86.3200
  50. 50.
    Rodriguez, M.A., Bollen, J.: An algorithm to determine peer-reviewers. In: Proceedings of the 17th ACM Conference on Information and Knowledge Management, CIKM ’08, pp. 319–328. ACM, New York, NY, USA (2008)Google Scholar
  51. 51.
    Ryder, B.G.: Constructing the call graph of a program. IEEE Trans. Softw. Eng. 5(3), 216–226 (1979).  https://doi.org/10.1109/TSE.1979.234183
  52. 52.
    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
  53. 53.
    Savić, M., Kurbalija, V., Ivanović, M., Bosnić, Z.: A Feature Selection Method Based on Feature Correlation Networks, pp. 248–261. Springer International Publishing, Cham (2017).  https://doi.org/10.1007/978-3-319-66854-3_19
  54. 54.
    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
  55. 55.
    Scanniello, G., Marcus, A.: Clustering support for static concept location in source code. In: Proceedings of the 19th International Conference on Program Comprehension (ICPC 2011), pp. 1–10 (2011).  https://doi.org/10.1109/ICPC.2011.13
  56. 56.
    Shadbolt, N., Berners-Lee, T., Hall, W.: The semantic web revisited. IEEE Intell. Syst. 21(3), 96–101 (2006).  https://doi.org/10.1109/MIS.2006.62
  57. 57.
    Silva, T.C., Zhao, L.: Network Construction Techniques, pp. 93–132. Springer International Publishing, Cham (2016).  https://doi.org/10.1007/978-3-319-17290-3_4
  58. 58.
    Stuckenschmidt, H., Schlicht, A.: Structure-based partitioning of large ontologies. In: Stuckenschmidt, H., Parent, C., Spaccapietra, S. (eds.) Modular Ontologies, pp. 187–210. Springer, Berlin (2009).  https://doi.org/10.1007/978-3-642-01907-4_9
  59. 59.
    Tosun, A., Turhan, B., Bener, A.: Validation of network measures as indicators of defective modules in software systems. In: Proceedings of the 5th International Conference on Predictor Models in Software Engineering, PROMISE ’09, pp. 5:1–5:9. ACM, New York, NY, USA (2009).  https://doi.org/10.1145/1540438.1540446
  60. 60.
    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
  61. 61.
    Wallace, M.L., Larivire, V., Gingras, Y.: A small world of citations? the influence of collaboration networks on citation practices. PLoS ONE 7(3), e33339 (2012).  https://doi.org/10.1371/journal.pone.0033339
  62. 62.
    Wasserman, S., Faust, K., Iacobucci, D.: Social Network Analysis: Methods and Applications. Cambridge University Press, Cambridge (1994)CrossRefGoogle Scholar
  63. 63.
    Watts, D.J., Strogatz, S.H.: Collective dynamics of’small-world’networks. Nature 393(6684), 409–10 (1998).  https://doi.org/10.1038/30918
  64. 64.
    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
  65. 65.
    Yan, E., Guns, R.: Predicting and recommending collaborations: an author-, institution-, and country-level analysis. J. Inf. 8(2), 295–309 (2014).  https://doi.org/10.1016/j.joi.2014.01.008
  66. 66.
    Zachary, W.: An information flow model for conflict and fission in small groups. J. Anthropol. Res. 33, 452–473 (1977)CrossRefGoogle Scholar
  67. 67.
    Zhang, H., Li, Y.F., Tan, H.B.K.: Measuring design complexity of semantic web ontologies. J. Syst. Softw. 83(5), 803–814 (2010).  https://doi.org/10.1016/j.jss.2009.11.735
  68. 68.
    Zhang, X., Cheng, G., Qu, Y.: Ontology summarization based on RDF sentence graph. In: Proceedings of the 16th International Conference on World Wide Web, WWW ’07, pp. 707–716. ACM, New York, NY, USA (2007).  https://doi.org/10.1145/1242572.1242668
  69. 69.
    Zimmermann, T., Nagappan, N.: Predicting defects using network analysis on dependency graphs. In: Proceedings of the 30th International Conference on Software Engineering, ICSE ’08, pp. 531–540. ACM, New York, NY, USA (2008).  https://doi.org/10.1145/1368088.1368161
  70. 70.
    Zupanc, K., Savić, M., Bosnić, Z., Ivanović, M.: Evaluating coherence of essays using sentence-similarity networks. In: Proceedings of the 18th International Conference on Computer Systems and Technologies, CompSysTech’17, pp. 65–72. ACM, New York, NY, USA (2017).  https://doi.org/10.1145/3134302.3134322

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  • Miloš Savić
    • 1
    Email author
  • Mirjana Ivanović
    • 1
  • Lakhmi C. Jain
    • 2
  1. 1.Faculty of Sciences, Department of Mathematics and InformaticsUniversity of Novi SadNovi SadSerbia
  2. 2.Centre for Artificial Intelligence, Faculty of Engineering and Information TechnologyUniversity of Technology SydneySydneyAustralia

Personalised recommendations