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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Alvarez-Hamelin, J.I., Fleury, E., Vespignani, A., Ziviani, A.: Complex dynamic networks: Tools and methods. Computer Networks 56(3), 967–969 (2012)
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)
Cai, K.-Y., Yin, B.-B.: Software execution processes as an evolving complex network. Inf. Sci. 179(12), 1903–1928 (2009)
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)
Fortunato, S.: Community detection in graphs. CoRR, abs/0906.0612 (2009)
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)
Holme, P., Saramäki, J.: Temporal networks. CoRR, abs/1108.1780 (2011)
Latapy, M.: Main-memory triangle computations for very large (sparse (power-law)) graphs. Theor. Comput. Sci. 407(1-3), 458–473 (2008)
Li, B., Pan, W., Lu, J.: Multi-granularity dynamic analysis of complex software networks. In: ISCAS, pp. 2119–2124. IEEE (2011)
Li, D., Han, Y., Hu, J.: Complex network thinking in software engineering. In: CSSE (1), pp. 264–268. IEEE Computer Society (2008)
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)
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)
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)
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)
Subelj, L., Bajec, M.: Software systems through complex networks science: review, analysis and applications. In: Software Mining, pp. 9–16. ACM (2012)
Viard, J., Latapy, M.: Identifying roles in an ip network with temporal and structural density. In: INFOCOM Workshops (2014)
Š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)
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)
Wehmuth, K., Ziviani, A., Fleury, E.: A unifying model for representing time-varying graphs. CoRR, abs/1402.3488 (2014)
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)
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)
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)
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)
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)
Zhao, C., Kong, J., Zhang, K.: Program behavior discovery and verification: A graph grammar approach. IEEE Trans. Software Eng. 36(3), 431–448 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)