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.
- A.-L. Barab_asi and R. Albert. Emergence of scaling in random networks. science, 286(5439):509--512, 1999.Google Scholar
- A. Barrat, M. Barthlemy, and A. Vespignani. Dynamical processes on complex networks. Cambridge University Press, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- U. Brandes. A faster algorithm for betweenness centrality*. Journal of Mathematical Sociology, 25(2):163--177, 2001.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- P. Erdös and A. Rényi. On random graphs i. Publ. Math. Debrecen, 6:290--297, 1959.Google ScholarCross Ref
- 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 ScholarDigital Library
- E. Estrada and N. Hatano. Communicability in complex networks. Physical Review E, 77(3):036111, 2008.Google ScholarCross Ref
- L. C. Freeman. Centrality in social networks conceptual clarification. Social networks, 1(3):215--239, 1979.Google ScholarCross Ref
- P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In ACM Sigplan Notices, volume 40, pages 213--223. ACM, 2005. Google ScholarDigital Library
- GoPivotal incorporation. http://static.springsource.org/spring/docs/3.2.x/springframework-reference/html/overview.html#overviewdependency-injection, 2013.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- P. Louridas, D. Spinellis, and V. Vlachos. Power laws in software. ACM Transactions on Software Engineering and Methodology (TOSEM), 18(1):2, 2008. Google ScholarDigital Library
- C. R. Myers. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Physical Review E, 68(4):046116, 2003.Google ScholarCross Ref
- M. E. Newman. Scientific collaboration networks. ii. shortest paths, weighted networks, and centrality. Physical review E, 64(1):016132, 2001.Google Scholar
- M. E. Newman. The structure and function of complex networks. SIAM review, 45(2):167--256, 2003.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- S. Valverde and R. V. Solé. Hierarchical small worlds in software architecture. arXiv preprint cond-mat/0307278, 2003.Google Scholar
- 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 ScholarDigital Library
- D. J. Watts and S. H. Strogatz. Collective dynamics of small-world networks. nature, 393(6684):440--442, 1998.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
Index Terms
- Calling Network: A New Method for Modeling Software Runtime Behaviors
Recommendations
Software Evolution Method Considering Software Historical Behavior
ICICSE '09: Proceedings of the 2009 Fourth International Conference on Internet Computing for Science and EngineeringThe goal of software evolution research is to use the history of a software system to analyze its present state and to predict its future development, which made people can better use and management software In this paper, a process of changing normal ...
Using fault injection to assess software engineering standards
ISESS '95: Proceedings of the 2nd IEEE Software Engineering Standards SymposiumStandards for quality software are increasingly important, especially for critical systems. Development standards and practices must be subjected to quantitative analyses; it is no longer adequate to encourage practices because they "make sense" or "...
A Framework on Runtime Verification for Software Behavior
ISDEA '12: Proceedings of the 2012 Second International Conference on Intelligent System Design and Engineering ApplicationWith the wide application of software, the scale of software systems is constantly expanding, and their structures and behaviors become more and more complicated. Therefore, people have more request and wish for their correctness, availability, ...
Comments