Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3551349.3559573acmotherconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Call Graph Evolution Analytics over a Version Series of an Evolving Software System

Published: 05 January 2023 Publication History

Abstract

Software evolution analytics can be supported by generating and comparing call graph evolution information over versions of a software system. Call Graph evolution analytics can assist a software engineer when maintaining or evolving a software system. This paper proposes Call Graph Evolution Analytics to extract information from a set of Evolving Call Graphs ECG = {CG1, CG2,...CGN} representing a Version Series VS = {V1, V2,...VN} of an evolving software system. This is done using Call Graph Evolution Rules (CGERs) and Call Graph Evolution Subgraphs (CGESs). Similar to association rule mining, the CGERs are used to capture co-occurrences of dependencies in the system. Like subgraph patterns in a call graph, the CGESs are used to capture evolution of dependency patterns in evolving call graphs. Call graph analytics on the evolution in these patterns can identify potentially affected dependencies (or procedure calls) that need attention. The experiments are done on the evolving call graphs of 10 large evolving systems to support dependency evolution management. This is demonstrated with detailed results for evolving call graphs of Maven-Core’s version series.

References

[1]
[1] V. Rajlich. “Software evolution and maintenance”. Future of Software Engineering Proceedings. 2014. 133-144.
[2]
[2] A. E. Hassan. “The road ahead for mining software repositories”. In Frontiers of Software Maintenance, 2008. FoSM 2008. pp. 48-57. IEEE, 2008.
[3]
[3] M. Harman. “The current state and future of search based software engineering”. Future of Software Engineering. IEEE Computer Society, 2007.
[4]
[4] B. G. Ryder. “Constructing the call graph of a program”. IEEE Transactions on Software Engineering 3 (1979): 216-226.
[5]
[5] D. Grove, and C. Chambers. “A framework for call graph construction algorithms”. ACM Transactions on Programming Languages and Systems (TOPLAS) 23.6 (2001): 685-746.
[6]
[6] N. L. Hashim, and N. Ismail. “Usage of Call Graph for Representing Software Component Interactions”. Knowledge Management Int. Conf. (KMICe) 2012.
[7]
[7] S. C. Shaw, et al. Moralising the call graph as a means of program comprehension. Tech. Rep., Department of Mathematical Sciences, University of Durham, 2002.
[8]
[8] V. Musco, M. Monperrus, and P. Preux. “A large-scale study of call graph-based impact prediction using mutation testing”. Software Quality Journal 25.3 (2017): 921-950.
[9]
[9] D. Garbervetsky, E. Zoppi, and B. Livshits. “Toward full elasticity in distributed static analysis: the case of callgraph analysis”. Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. ACM, 2017.
[10]
[10] D. Gao, M. K. Reiter, and D. Song. “Gray-box extraction of execution graphs for anomaly detection”. Proceedings of the 11th ACM conference on Computer and communications security. ACM, 2004.
[11]
[11] P. Holme, and J. Saramäki. “Temporal networks”. Physics reports 519.3 (2012): 97-125.
[12]
[12] C. Aggarwal, and K. Subbian. “Evolutionary network analysis: A survey”. ACM Computing Surveys (CSUR) 47.1 (2014): 10.
[13]
[13] J. E. Aronson. “A survey of dynamic network flows”. Annals of Operations Research 20.1 (1989): 1-66.
[14]
[14] M. De Domenico, M. A. Porter, and A. Arenas. “MuxViz: a tool for multilayer analysis and visualization of networks”. Journal of Complex Networks 3.2 (2015): 159-176.
[15]
[15] B. Mirko, F. Höppner, and M. Spiliopoulou. “On exploiting the power of time in data mining”. ACM SIGKDD Explorations Newsletter 10.2 (2008): 3-11.
[16]
[16] T. Mansoureh, et al. “Community evolution mining in dynamic social networks”. Procedia-Social and Behavioral Sciences 22 (2011): 49-58.
[17]
[17] W. Bin, et al. “Resume mining of communities in social network”. Seventh IEEE International Conference on Data Mining Workshops ICDMW. IEEE, 2007.
[18]
[18] M. M. Lehman. “Programs, life cycles, and laws of software evolution”. Proceedings of the IEEE 68.9 (1980): 1060-1076.
[19]
[19] R. Vasa, and J.G. Schneider. “Evolution of cyclomatic complexity in object oriented software”. Proceedings of 7th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE’03), Darmstadt, Germany. 2003.
[20]
[20] F. E. Allen, “Control flow analysis”. ACM SIGPLAN Notices 5.7 (1970): 1-19.
[21]
[21] A. Sharma, P. S. Grover, and R. Kumar. “Dependency analysis for component-based software systems”. ACM SIGSOFT Software Engineering Notes 34.4 (2009): 1-6.
[22]
[22] D. Jackson, and M. Rinard. “Software analysis: A roadmap”. Proceedings of the Conference on the Future of Software Engineering. 2000.
[23]
[23] M. Weiser. “Program slicing”. IEEE Transactions on Software Engineering 4 (1984): 352-357.
[24]
[24] D. W. Binkley, and K. B. Gallagher. “Program slicing”. Advances in computers 43 (1996): 1-50.
[25]
[25] D. Binkley. “Source code analysis: A road map”. Future of Software Engineering. IEEE Computer Society, 2007.
[26]
[26] R. Agrawal, T. Imieliński, and A. Swami. “Mining association rules between sets of items in large databases”. Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data. 1993.
[27]
[27] A. TT Ying, et al. “Predicting source code changes by mining change history”. IEEE Transactions on Software Engineering, 30.9 (2004): 574-586.
[28]
[28] T. Zimmermann, et al. “Mining version histories to guide software changes”. IEEE Transactions on Software Engineering, 31(6), (2005): 429-445.
[29]
[29] R. Vasa, J.-G. Schneider, and O. Nierstrasz. “The inevitable stability of software change”. 2007 IEEE International Conference on Software Maintenance. IEEE, 2007.
[30]
[30] Y. Pang, X. Xue, and A. S. Namin. “Predicting vulnerable software components through n-gram analysis and statistical feature selection”. 2015 IEEE 14th International Conference on Machine Learning and Applications (ICMLA). IEEE, 2015.
[31]
[31] R. Kikas, et al. “Structure and evolution of package dependency networks”. 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR). IEEE, 2017.
[32]
[32] V. Honsel, et al. “Mining software dependency networks for agent-based simulation of software evolution”. 2015 30th IEEE/ACM International Conference on Automated Software Engineering Workshop (ASEW). IEEE, 2015.
[33]
[33] A. Decan, T. Mens, and P. Grosjean. “An empirical comparison of dependency network evolution in seven software packaging ecosystems”. Empirical Software Engineering 24.1 (2019): 381-416.
[34]
[34] A. Chaturvedi, A. Tiwari, and N. Spyratos. “minStab: Stable Network Evolution Rule Mining for System Changeability Analysis”. IEEE Transactions on Emerging Topics in Computational Intelligence 5.2 (2019): 274-283.
[35]
[35] A. Chaturvedi, A. Tiwari, and N. Spyratos. “System Network Analytics: Evolution and Stable Rules of a State Series”. IEEE 9th International Conference on Data Science and Advanced Analytics (DSAA). IEEE, 2022.
[36]
[36] A. Chaturvedi and A. Tiwari. “System Network Complexity: Network Evolution Subgraphs of System State Series”. IEEE Transactions on Emerging Topics in Computational Intelligence 4.2 (2018): 130-139.
[37]
[37] A. Chaturvedi, A. Tiwari. “System Evolution Analytics: Evolution and Change Pattern Mining of Inter-Connected Entities”. IEEE International Conference on Systems, Man, and Cybernetics (SMC), 2018: 3877-3882.
[38]
[38] A. Chaturvedi and A. Tiwari. “System Evolution Analytics: Deep Evolution and Change Learning of Inter-Connected Entities”. IEEE International Conference on Systems, Man, and Cybernetics (SMC), 2018: 3075-3080.
[39]
[39] A. Chaturvedi and A. Tiwari. “SysEvoRecomd: Graph Evolution and Change Learning based System Evolution Recommender”. IEEE International Conference on Data Mining Workshop (ICDMW), 2018, 1499-1500.
[40]
[40] A. Chaturvedi, A. Tiwari, and S. Chaturvedi. “SysEvoRecomd: Network Reconstruction by Graph Evolution and Change Learning”. IEEE Systems Journal 14.3 (2020): 4007-4014.
[41]
[41] A. Chaturvedi, et al. “System Neural Network: Evolution and Change based Structure Learning”. IEEE Transactions on Artificial Intelligence 3.3 (2022): 426-435.
[42]
[42] A. Chaturvedi. “Subset WSDL to access Subset Service for Analysis”. In 2014 IEEE 6th International Conference on Cloud Computing Technology and Science (pp. 688-691), 2014, IEEE.
[43]
[43] A. Chaturvedi. “Automated Web Service Change Management AWSCM-A tool”. In 2014 IEEE 6th International Conference on Cloud Computing Technology and Science (pp. 715-718), 2014, IEEE.
[44]
[44] A. Chaturvedi and D. Binkley. “Web Service Slicing: Intra and Inter-operational Analysis to Test Changes”. IEEE Transactions on Services Computing 14.3 (2018): 930-943.
[45]
[45] A. Chaturvedi, et al. “Service Evolution Analytics: Change and Evolution Mining of a Distributed system”. IEEE Transactions on Engineering Management 68.1 (2020): 137-148.

Cited By

View all
  • (2023)Spark based Parallel Frequent Pattern Rules for Social Media Data Analytics2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing Workshops (CCGridW)10.1109/CCGridW59191.2023.00039(168-175)Online publication date: May-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ASE '22: Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering
October 2022
2006 pages
ISBN:9781450394758
DOI:10.1145/3551349
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 January 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Data Mining
  2. Graphs
  3. Software evolution
  4. Software repository

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ASE '22

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)Spark based Parallel Frequent Pattern Rules for Social Media Data Analytics2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing Workshops (CCGridW)10.1109/CCGridW59191.2023.00039(168-175)Online publication date: May-2023

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media