Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Calling Network: A New Method for Modeling Software Runtime Behaviors

Published: 06 February 2015 Publication History

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.
[2]
A. Barrat, M. Barthlemy, and A. Vespignani. Dynamical processes on complex networks. Cambridge University Press, 2008.
[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.
[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.
[5]
U. Brandes. A faster algorithm for betweenness centrality*. Journal of Mathematical Sociology, 25(2):163--177, 2001.
[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.
[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.
[8]
P. Erdös and A. Rényi. On random graphs i. Publ. Math. Debrecen, 6:290--297, 1959.
[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.
[10]
E. Estrada and N. Hatano. Communicability in complex networks. Physical Review E, 77(3):036111, 2008.
[11]
L. C. Freeman. Centrality in social networks conceptual clarification. Social networks, 1(3):215--239, 1979.
[12]
P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In ACM Sigplan Notices, volume 40, pages 213--223. ACM, 2005.
[13]
GoPivotal incorporation. http://static.springsource.org/spring/docs/3.2.x/springframework-reference/html/overview.html#overviewdependency-injection, 2013.
[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.
[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.
[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.
[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.
[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.
[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.
[20]
P. Louridas, D. Spinellis, and V. Vlachos. Power laws in software. ACM Transactions on Software Engineering and Methodology (TOSEM), 18(1):2, 2008.
[21]
C. R. Myers. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Physical Review E, 68(4):046116, 2003.
[22]
M. E. Newman. Scientific collaboration networks. ii. shortest paths, weighted networks, and centrality. Physical review E, 64(1):016132, 2001.
[23]
M. E. Newman. The structure and function of complex networks. SIAM review, 45(2):167--256, 2003.
[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.
[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.
[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.
[27]
S. Valverde and R. V. Solé. Hierarchical small worlds in software architecture. arXiv preprint cond-mat/0307278, 2003.
[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.
[29]
D. J. Watts and S. H. Strogatz. Collective dynamics of small-world networks. nature, 393(6684):440--442, 1998.
[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.
[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.

Cited By

View all
  • (2023)Fault Localization Using TrustRank AlgorithmApplied Sciences10.3390/app13221234413:22(12344)Online publication date: 15-Nov-2023
  • (2023)A Method-Level Defect Prediction Approach Based on Structural Features of Method-Calling NetworkIEEE Access10.1109/ACCESS.2023.323926611(7933-7946)Online publication date: 2023
  • (2022)Fault centrality: boosting spectrum-based fault localization via local influence calculationApplied Intelligence10.1007/s10489-021-02822-452:7(7113-7135)Online publication date: 1-May-2022
  • Show More Cited By

Index Terms

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

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM SIGSOFT Software Engineering Notes
      ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 1
      January 2015
      237 pages
      ISSN:0163-5948
      DOI:10.1145/2693208
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 06 February 2015
      Published in SIGSOFT Volume 40, Issue 1

      Check for updates

      Author Tags

      1. Method Call
      2. Software Behavior
      3. Software Model

      Qualifiers

      • Research-article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)6
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 10 Oct 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Fault Localization Using TrustRank AlgorithmApplied Sciences10.3390/app13221234413:22(12344)Online publication date: 15-Nov-2023
      • (2023)A Method-Level Defect Prediction Approach Based on Structural Features of Method-Calling NetworkIEEE Access10.1109/ACCESS.2023.323926611(7933-7946)Online publication date: 2023
      • (2022)Fault centrality: boosting spectrum-based fault localization via local influence calculationApplied Intelligence10.1007/s10489-021-02822-452:7(7113-7135)Online publication date: 1-May-2022
      • (2021)Multiscale Empirical Analysis of Software Network Evolution2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C)10.1109/QRS-C55045.2021.00165(1109-1118)Online publication date: Dec-2021
      • (2020)Enhancing Spectrum-Based Fault Localization Using Fault Influence PropagationIEEE Access10.1109/ACCESS.2020.29651398(18497-18513)Online publication date: 2020
      • (2020)Kieker: A monitoring framework for software engineering researchSoftware Impacts10.1016/j.simpa.2020.100019(100019)Online publication date: Jun-2020
      • (2020)Relation-based test case prioritization for regression testingJournal of Systems and Software10.1016/j.jss.2020.110539163(110539)Online publication date: May-2020
      • (2019)Mining of Probabilistic Controlling Behavior Model From Dynamic Software Execution TraceIEEE Access10.1109/ACCESS.2019.29229987(79602-79616)Online publication date: 2019
      • (2018)Test Case Prioritization Based on Method Call Sequences2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC)10.1109/COMPSAC.2018.00039(251-256)Online publication date: Jul-2018
      • (2018)Dynamic structure measurement for distributed softwareSoftware Quality Journal10.1007/s11219-017-9369-326:3(1119-1145)Online publication date: 24-Dec-2018
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media