TR
EN
Analysis of function-call graphs of open-source software systems using complex network analysis
Öz
Software systems are usually designed in a modular and hierarchical fashion, where functional responsibility of a system is decomposed into multiple functional software elements optimally such as subsystems, modules, packages, classes, methods, and functions. These elements are coupled with each other with some kind of dependency relationships to some degree, and their interactions naturally form a graph or network structure. In this study, we generated the static function-call graphs of several open-source software systems, where functions were the most basic type of interacting elements calling each other. Then, we analyzed the call graphs both visually and topologically using the techniques of complex network analysis. We found the call graphs to reveal scale-free and small-world network properties similar to the findings of the previous studies. In addition, we identified the most central and important functions in each call-graph using several centrality measures. We also performed community analysis and found that the call graphs exhibited a tendency to form communities. Finally, we showed that analysis of static function-call graphs of software systems through complex network analysis has the potential to reveal useful information about them.
Anahtar Kelimeler
Kaynakça
- McConnell S. Code Complete: A Practical Handbook of Software Construction. 2nd ed. USA, Microsoft Press, 2004.
- Barabási AL, Pósfai M. Network Science. Cambridge, Cambridge University Press, 2016.
- Myers CR. "Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs". Physical Review E, 68(4), 046116, 1-15, 2003.
- Yan K-K, Fang G, Bhardwaj N, Alexander RP, Gerstein M. "Comparing genomes to computer operating systems in terms of the topology and evolution of their regulatory control networks". Proceedings of the National Academy of Sciences, 107(20), 9186-9191, 2010.
- Guo Y, Zhao Z-x, Wang W. "Complexity analysis of software based on function-call graph". The 19th International Conference on Industrial Engineering and Engineering Management, Changsha, China, 27-29 October 2012.
- Zhao D, Miao L, Zhang D. "Reusable function discovery by call-graph analysis". Journal of Software Engineering and Applications, 8, 184-191, 2015.
- Yu Qu, Guan X, Zheng Q, Liu T, Wang L, Hou Y, Yang Z. "Exploring community structure of software Call Graph and its applications in class cohesion measurement". The Journal of Systems and Software, 108, 193-210, 2015.
- Falci DHM, Gomes OA, Parreiras FS. "Complex networks analysis for software architecture: an hibernate call graph study". ArXiv, abs/1706.09859, 2017.
Ayrıntılar
Birincil Dil
İngilizce
Konular
Mühendislik
Bölüm
Araştırma Makalesi
Yayımlanma Tarihi
7 Nisan 2020
Gönderilme Tarihi
3 Ağustos 2018
Kabul Tarihi
-
Yayımlandığı Sayı
Yıl 2020 Cilt: 26 Sayı: 2
APA
Tunalı, V., & Tüysüz, M. A. A. (2020). Analysis of function-call graphs of open-source software systems using complex network analysis. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi, 26(2), 352-358. https://izlik.org/JA94PY34RN
AMA
1.Tunalı V, Tüysüz MAA. Analysis of function-call graphs of open-source software systems using complex network analysis. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi. 2020;26(2):352-358. https://izlik.org/JA94PY34RN
Chicago
Tunalı, Volkan, ve Mahmet Ali Aksoy Tüysüz. 2020. “Analysis of function-call graphs of open-source software systems using complex network analysis”. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi 26 (2): 352-58. https://izlik.org/JA94PY34RN.
EndNote
Tunalı V, Tüysüz MAA (01 Nisan 2020) Analysis of function-call graphs of open-source software systems using complex network analysis. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi 26 2 352–358.
IEEE
[1]V. Tunalı ve M. A. A. Tüysüz, “Analysis of function-call graphs of open-source software systems using complex network analysis”, Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi, c. 26, sy 2, ss. 352–358, Nis. 2020, [çevrimiçi]. Erişim adresi: https://izlik.org/JA94PY34RN
ISNAD
Tunalı, Volkan - Tüysüz, Mahmet Ali Aksoy. “Analysis of function-call graphs of open-source software systems using complex network analysis”. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi 26/2 (01 Nisan 2020): 352-358. https://izlik.org/JA94PY34RN.
JAMA
1.Tunalı V, Tüysüz MAA. Analysis of function-call graphs of open-source software systems using complex network analysis. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi. 2020;26:352–358.
MLA
Tunalı, Volkan, ve Mahmet Ali Aksoy Tüysüz. “Analysis of function-call graphs of open-source software systems using complex network analysis”. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi, c. 26, sy 2, Nisan 2020, ss. 352-8, https://izlik.org/JA94PY34RN.
Vancouver
1.Volkan Tunalı, Mahmet Ali Aksoy Tüysüz. Analysis of function-call graphs of open-source software systems using complex network analysis. Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi [Internet]. 01 Nisan 2020;26(2):352-8. Erişim adresi: https://izlik.org/JA94PY34RN