skip to main content
research-article

Calling Network: A New Method for Modeling Software Runtime Behaviors

Published:06 February 2015Publication History
Skip Abstract Section

Abstract

Modern software systems' structures and behaviors are becoming very complicated. Existing models either lack systematic considerations on the whole system's behavior patterns or are inefficient in runtime monitoring. In this paper, the Calling Network (CN) model is proposed to provide new perspectives to analyze the dynamic execution process of a software system. CN is consisted of one or a series of Calling Graph (CG), which is a dynamic version of Call Graph and encodes method call frequencies. Some new perspectives such as Growing Network and Network (Graph) Sequence are also embodied in CN model. Based on a data set of 10 real-world Java programs, we show that CN presents several interesting features, such as Power-law degree distribution, Densification Power Law, and the stability of an entropy value -- Local Entropy. Experiments have been conducted to show the applications of CN in software significant module identification and runtime failure diagnosis.

References

  1. A.-L. Barab_asi and R. Albert. Emergence of scaling in random networks. science, 286(5439):509--512, 1999.Google ScholarGoogle Scholar
  2. A. Barrat, M. Barthlemy, and A. Vespignani. Dynamical processes on complex networks. Cambridge University Press, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Baxter, M. Frean, J. Noble, M. Rickerby, H. Smith, M. Visser, H. Melton, and E. Tempero. Understanding the shape of java software. In ACM SIGPLAN Notices, volume 41, pages 397--412. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Bhattacharya, M. Iliofotou, I. Neamtiu, and M. Faloutsos. Graph-based analysis and prediction for software evolution. In Proceedings of the 2012 International Conference on Software Engineering, pages 419--429. IEEE Press, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. U. Brandes. A faster algorithm for betweenness centrality*. Journal of Mathematical Sociology, 25(2):163--177, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  6. E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(5):1512--1542, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. Eichinger, K. Böhm, and M. Huber. Mining edge-weighted call graphs to localise software bugs. In Machine Learning and Knowledge Discovery in Databases, pages 333--348. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Erdös and A. Rényi. On random graphs i. Publ. Math. Debrecen, 6:290--297, 1959.Google ScholarGoogle ScholarCross RefCross Ref
  9. M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. Software Engineering, IEEE Transactions on, 27(2):99--123, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Estrada and N. Hatano. Communicability in complex networks. Physical Review E, 77(3):036111, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  11. L. C. Freeman. Centrality in social networks conceptual clarification. Social networks, 1(3):215--239, 1979.Google ScholarGoogle ScholarCross RefCross Ref
  12. P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In ACM Sigplan Notices, volume 40, pages 213--223. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. GoPivotal incorporation. http://static.springsource.org/spring/docs/3.2.x/springframework-reference/html/overview.html#overviewdependency-injection, 2013.Google ScholarGoogle Scholar
  14. S. L. Graham, P. B. Kessler, and M. K. Mckusick. Gprof: A call graph execution profiler. ACM Sigplan Notices, 17(6):120--126, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Grechanik, C. Fu, and Q. Xie. Automatically _nding performance problems with feedback-directed learning software testing. In Software Engineering (ICSE), 2012 34th International Conference on, pages 156--166. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of aspectj. In ECOOP 2001 -- Object-Oriented Programming, pages 327--354. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Leskovec, J. Kleinberg, and C. Faloutsos. Graphs over time: densi_cation laws, shrinking diameters and possible explanations. In Proceedings of the eleventh ACM SIGKDD international conference on Knowledge discovery in data mining, pages 177--187. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Leskovec, J. Kleinberg, and C. Faloutsos. Graph evolution: Densification and shrinking diameters. ACM Transactions on Knowledge Discovery from Data (TKDD), 1(1):2, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Lorenzoli, L. Mariani, and M. Pezz. Automatic generation of software behavioral models. In Proceedings of the 30th international conference on Software engineering, pages 501--510, Leipzig, Germany, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. Louridas, D. Spinellis, and V. Vlachos. Power laws in software. ACM Transactions on Software Engineering and Methodology (TOSEM), 18(1):2, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. R. Myers. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Physical Review E, 68(4):046116, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  22. M. E. Newman. Scientific collaboration networks. ii. shortest paths, weighted networks, and centrality. Physical review E, 64(1):016132, 2001.Google ScholarGoogle Scholar
  23. M. E. Newman. The structure and function of complex networks. SIAM review, 45(2):167--256, 2003.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Potanin, J. Noble, M. Frean, and R. Biddle. Scale-free geometry in oo programs. Communications of the ACM, 48(5):99--103, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. L. Šubelj and M. Bajec. Community structure of complex software systems: Analysis and applications. Physica A: Statistical Mechanics and its Applications, 390(16):2968--2975, 2011.Google ScholarGoogle ScholarCross RefCross Ref
  26. L. Šubelj and M. Bajec. Software systems through complex networks science: Review, analysis and applications. In Proceedings of the First International Workshop on Software Mining, pages 9--16. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Valverde and R. V. Solé. Hierarchical small worlds in software architecture. arXiv preprint cond-mat/0307278, 2003.Google ScholarGoogle Scholar
  28. A. van Hoorn, J. Waller, and W. Hasselbring. Kieker: A framework for application performance monitoring and dynamic software analysis. In Proceedings of the third joint WOSP/SIPEW international conference on Performance Engineering, pages 247--248. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. J. Watts and S. H. Strogatz. Collective dynamics of small-world networks. nature, 393(6684):440--442, 1998.Google ScholarGoogle Scholar
  30. R. Wheeldon and S. Counsell. Power law distributions in class relationships. In Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on, pages 45--54. IEEE, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  31. Q. Zheng, Z. Ou, T. Liu, Z. Yang, Y. Hou, and C. Zheng. Software structure evaluation based on the interaction and encapsulation of methods. Science China Information Sciences, 55(12):2816--2825, 2012.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Calling Network: A New Method for Modeling Software Runtime Behaviors

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader