Calling Network: A New Method for Modeling Software Runtime Behaviors

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.

[1]  Chen Fu,et al.  Automatically finding performance problems with feedback-directed learning software testing , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[2]  Klemens Böhm,et al.  Mining Edge-Weighted Call Graphs to Localise Software Bugs , 2008, ECML/PKDD.

[3]  M. Newman Erratum: Scientific collaboration networks. II. Shortest paths, weighted networks, and centrality (Physical Review e (2001) 64 (016132)) , 2006 .

[4]  Diomidis Spinellis,et al.  Power laws in software , 2008, TSEM.

[5]  Mark E. J. Newman,et al.  The Structure and Function of Complex Networks , 2003, SIAM Rev..

[6]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[7]  Leonardo Mariani,et al.  Automatic generation of software behavioral models , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[8]  Ernesto Estrada,et al.  Communicability in complex networks. , 2007, Physical review. E, Statistical, nonlinear, and soft matter physics.

[9]  Susan L. Graham,et al.  gprof: a call graph execution profiler (with retrospective) , 1982 .

[10]  Christopher R. Myers,et al.  Software systems as complex networks: structure, function, and evolvability of software collaboration graphs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[11]  Sergi Valverde,et al.  Hierarchical Small Worlds in Software Architecture , 2003 .

[12]  Christos Faloutsos,et al.  Graph evolution: Densification and shrinking diameters , 2006, TKDD.

[13]  Wilhelm Hasselbring,et al.  Kieker: a framework for application performance monitoring and dynamic software analysis , 2012, ICPE '12.

[14]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[15]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[16]  U. Brandes A faster algorithm for betweenness centrality , 2001 .

[17]  Marko Bajec,et al.  Software systems through complex networks science: review, analysis and applications , 2012, Software Mining.

[18]  Marko Bajec,et al.  Community structure of complex software systems: Analysis and applications , 2011, ArXiv.

[19]  Christos Faloutsos,et al.  Graphs over time: densification laws, shrinking diameters and possible explanations , 2005, KDD '05.

[20]  Qinghua Zheng,et al.  Software structure evaluation based on the interaction and encapsulation of methods , 2012, Science China Information Sciences.

[21]  L. Freeman Centrality in social networks conceptual clarification , 1978 .

[22]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[23]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[24]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[25]  James Noble,et al.  Scale-free geometry in OO programs , 2005, CACM.

[26]  Ewan D. Tempero,et al.  Understanding the shape of Java software , 2006, OOPSLA '06.

[27]  Susan L. Graham,et al.  Gprof: A call graph execution profiler , 1982, SIGPLAN '82.

[28]  Alessandro Vespignani,et al.  Dynamical Processes on Complex Networks , 2008 .

[29]  M. Newman,et al.  Scientific collaboration networks. II. Shortest paths, weighted networks, and centrality. , 2001, Physical review. E, Statistical, nonlinear, and soft matter physics.

[30]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[31]  Michalis Faloutsos,et al.  Graph-based analysis and prediction for software evolution , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[32]  Steve Counsell,et al.  Power law distributions in class relationships , 2003, Proceedings Third IEEE International Workshop on Source Code Analysis and Manipulation.