Pamukkale University Journal of Engineering Sciences (Apr 2020)

Karmaşık ağ analizi kullanılarak açık-kaynak yazılım sistemlerinin fonksiyon-çağırma graflarının analizi

  • Volkan TUNALI,
  • Mahmet Ali Aksoy TÜYSÜZ

Journal volume & issue
Vol. 26, no. 2
pp. 352 – 358

Abstract

Read online

Yazılım sistemleri genellikle sistemin işlevsel sorumluluğunun optimal bir şekilde altsistemler, modüller, paketler, sınıflar, metodlar, ve fonksiyonlar gibi çok sayıda işlevsel yazılım elemanına ayrıştırıldığı, modüler ve hiyerarşik bir biçimde tasarlanırlar. Bu elemanlar birbirleriyle çeşitli ilişki türleri ile bağlıdırlar ve bunların etkileşimleri doğal olarak bir graf veya ağ yapısı oluşturur. Bu çalışmada, etkileşim halindeki en temel eleman türü olarak birbirini çağıran fonksiyonları dikkate alarak, çeşitli açık-kaynak yazılım sistemlerinin statik fonksiyon-çağırma graflarını oluşturduk. Ardından, karmaşık ağ analizi teknikleri kullanarak, çağırma graflarını hem görsel hem de topolojik olarak analiz ettik. Daha önceki çalışmaların bulgularına benzer olarak, grafların ölçekten-bağımsız ve küçük-dünya ağı özellikleri sergilediklerini gördük. Ek olarak, çeşitli merkezîlik ölçütleri kullanarak, her bir çağırma grafındaki en merkezi ve önemli fonksiyonları tespit ettik. Ayrıca, topluluk analizi gerçekleştirdik ve çağırma graflarının topluluk oluşturma eğilimi gösterdiğini bulduk. Son olarak, yazılım sistemlerinin statik fonksiyon-çağırma graflarının karmaşık ağ analizi yoluyla analizinin, sistemlerle ilgili yararlı bilgiler sağlama potansiyeli olduğunu gösterdik.

Keywords