Skip to main content

Complex Networks and Link Streams for the Empirical Analysis of Large Software

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8489))

Abstract

Large software may be modeled as graphs in several ways. For instance, nodes may represent modules, objects or functions, and links may encode dependencies between them, calls, heritage, etc. One may then study a large software through such graphs, called complex networks because they have no strong mathematical properties. Studying them sheds much light on the structure of the considered software. If one turns to the analysis of the dynamics of large software, like execution traces, then the considered graphs evolve over time. This raises challenging issues, as there is currently no clear way to study such objects. We develop a new approach consisting in modeling traces as link streams, i.e. series of triplets (t,a,b) meaning that a and b interacted at time t. For instance, such a triplet may model a call between two modules at run time. Analyzing such streams directly turns out to be much easier and powerful than transforming them into dynamic graphs that poorly capture their dynamics. We present our work on this topic, with directions for applications in software analysis.

The original version of this chapter was revised: The second author name was changed. The erratum to this chapter is available at 10.1007/978-3-319-07734-5_23

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alawneh, L., Hamou-Lhadj, A.: Identifying computational phases from inter-process communication traces of hpc applications. In: Beyer, D., van Deursen, A., Godfrey, M.W. (eds.) ICPC, pp. 133–142 (2012)

    Google Scholar 

  2. Alvarez-Hamelin, J.I., Fleury, E., Vespignani, A., Ziviani, A.: Complex dynamic networks: Tools and methods. Computer Networks 56(3), 967–969 (2012)

    Article  Google Scholar 

  3. Bhattacharya, P., Iliofotou, M., Neamtiu, I., Faloutsos, M.: Graph-based analysis and prediction for software evolution. In: Glinz, M., Murphy, G.C., Pezzè, M. (eds.) ICSE, pp. 419–429. IEEE (2012)

    Google Scholar 

  4. Cai, K.-Y., Yin, B.-B.: Software execution processes as an evolving complex network. Inf. Sci. 179(12), 1903–1928 (2009)

    Article  Google Scholar 

  5. Caudwell, A.H.: Gource: visualizing software version control history. In: Cook, W.R., Clarke, S., Rinard, M.C. (eds.) SPLASH/OOPSLA Companion, pp. 73–74. ACM (2010)

    Google Scholar 

  6. Fortunato, S.: Community detection in graphs. CoRR, abs/0906.0612 (2009)

    Google Scholar 

  7. Guo, F., Wang, Y., Zhao, L., Zhang, M.: Introduction to the applications of complex networks in software engineering. In: ICEE, pp. 4162–4165. IEEE (2010)

    Google Scholar 

  8. Holme, P., Saramäki, J.: Temporal networks. CoRR, abs/1108.1780 (2011)

    Google Scholar 

  9. Latapy, M.: Main-memory triangle computations for very large (sparse (power-law)) graphs. Theor. Comput. Sci. 407(1-3), 458–473 (2008)

    Article  MathSciNet  Google Scholar 

  10. Li, B., Pan, W., Lu, J.: Multi-granularity dynamic analysis of complex software networks. In: ISCAS, pp. 2119–2124. IEEE (2011)

    Google Scholar 

  11. Li, D., Han, Y., Hu, J.: Complex network thinking in software engineering. In: CSSE (1), pp. 264–268. IEEE Computer Society (2008)

    Google Scholar 

  12. Li, H., Huang, B., Lu, J.: Dynamical evolution analysis of the object-oriented software systems. In: IEEE Congress on Evolutionary Computation, pp. 3030–3035. IEEE (2008)

    Google Scholar 

  13. Liu, J., Lu, J., He, K., Li, B., Tse, C.K.: Characterizing the structural quality of general complex software networks. I. J. Bifurcation and Chaos 18(2), 605–613 (2008)

    Article  Google Scholar 

  14. Pan, W., Li, B., Ma, Y., Liu, J., Qin, Y.: Class structure refactoring of object-oriented softwares using community detection in dependency networks. Frontiers of Computer Science in China 3(3), 396–404 (2009)

    Article  Google Scholar 

  15. Pan, W., Li, B., Ma, Y., Qin, Y., Zhou, X.-Y.: Measuring structural quality of object-oriented softwares via bug propagation analysis on weighted software networks. J. Comput. Sci. Technol. 25(6), 1202–1213 (2010)

    Article  Google Scholar 

  16. Subelj, L., Bajec, M.: Software systems through complex networks science: review, analysis and applications. In: Software Mining, pp. 9–16. ACM (2012)

    Google Scholar 

  17. Viard, J., Latapy, M.: Identifying roles in an ip network with temporal and structural density. In: INFOCOM Workshops (2014)

    Google Scholar 

  18. Šubelj, L., Bajec, M.: Software systems through complex networks science: Review, analysis and applications. In: Proceedings of the First International Workshop on Software Mining, SoftwareMining 2012, pp. 9–16. ACM, New York (2012)

    Google Scholar 

  19. Wang, H., He, K., Li, B., Lü, J.: On some recent advances in complex software networks: Modeling, analysis, evolution and applications. I. J. Bifurcation and Chaos 22(2) (2012)

    Article  Google Scholar 

  20. Wehmuth, K., Ziviani, A., Fleury, E.: A unifying model for representing time-varying graphs. CoRR, abs/1402.3488 (2014)

    Google Scholar 

  21. Wen, L., Kirk, D., Geoff Dromey, R.: Software systems as complex networks. In: Zhang, D., Wang, Y., Kinsner, W. (eds.) IEEE ICCI, pp. 106–115. IEEE (2007)

    Google Scholar 

  22. Zanetti, M.S., Scholtes, I., Tessone, C.J., Schweitzer, F.: Categorizing bugs with social networks: a case study on four open source software communities. In: Notkin, D., Cheng, B.H.C., Pohl, K. (eds.) ICSE, pp. 1032–1041. IEEE / ACM (2013)

    Google Scholar 

  23. Zanetti, M.S., Schweitzer, F.: A network perspective on software modularity. In: Mühl, G., Richling, J., Herkersdorf, A. (eds.) ARCS Workshops. LNI, vol. 200, pp. 175–186. GI (2012)

    Google Scholar 

  24. Zhang, X., Zhao, G., Lv, T., Yin, Y., Zhang, B.: Analysis on key nodes behavior for complex software network. In: Liu, B., Ma, M., Chang, J. (eds.) ICICA 2012. LNCS, vol. 7473, pp. 59–66. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  25. Zhao, C., Ates, K., Kong, J., Zhang, K.: Discovering program’s behavioral patterns by inferring graph-grammars from execution traces. In: ICTAI (2), pp. 395–402. IEEE Computer Society (2008)

    Google Scholar 

  26. Zhao, C., Kong, J., Zhang, K.: Program behavior discovery and verification: A graph grammar approach. IEEE Trans. Software Eng. 36(3), 431–448 (2010)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Latapy, M., Viard, T. (2014). Complex Networks and Link Streams for the Empirical Analysis of Large Software. In: Ciardo, G., Kindler, E. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2014. Lecture Notes in Computer Science, vol 8489. Springer, Cham. https://doi.org/10.1007/978-3-319-07734-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07734-5_3

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07733-8

  • Online ISBN: 978-3-319-07734-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics