Master'sOpen Access

Assessing software evolution with the stickiness score: Evaluating code persistence across files, folders, and developers

2025
0 views
0 downloads
Advisor: Dr. Öğr. Üyesi Eray Tüzün

Abstract (TR)

Yazılım evrimi, sürekli kod değişikliklerini içerir ve bu durum, kodun kararlılığını ve kalıcılığını etkileyen faktörlerin anlaşılmasını önemli kılar. Bu çalışma, bir projedeki kod satırlarının ne kadar süre boyunca varlığını sürdürdüğünü ölçen "Yapışkanlık Skoru" adlı bir metriği tanıtmaktadır. Bu skor, yazılımcılar tarafından yazılan ya da belirli bir dosya veya klasöre ait kodların zaman içinde ne ölçüde korunduğunu yansıtır. Çalışmanın amacı, bu skorun çeşitli yazılım metrikleriyle olan korelasyonunu incelemektir: dosyaya katkıda bulunan yazılımcı sayısı, yazılımcı yapışkanlık skorları (ortalama, commit-ağırlıklı ve LOC-ağırlıklı olarak), döngüsel karmaşıklık, hata düzeltme sayısı ve statik kod analizi metrikleri olan hata sayısı ve kod kokusu sayısı. Yazılımcı, dosya ve klasör düzeyindeki yapışkanlık skorları, bu çalışma kapsamında geliştirilen Devotion adlı araç kullanılarak beş açık kaynaklı proje üzerinde hesaplanmıştır. Dosya yapışkanlık skorları ile belirtilen yazılım metrikleri arasındaki ilişkiyi analiz etmek için Spearman korelasyon testi uygulanmıştır. Analiz sonucunda, dosyaya katkıda bulunan yazılımcı sayısının dosya yapışkanlık skorlarıyla güçlü bir negatif korelasyon gösterdiği bulunmuştur. Commit- ve LOC-ağırlıklı yazılımcı yapışkanlık skorları pozitif korelasyon göstermiştir; öte yandan, ağırlıksız yazılımcı yapışkanlık skoru ortalamaları ile ilişkisi karışık sonuçlar vermiştir. Döngüsel karmaşıklık, hata düzeltme sayısı ve kod kokusu sayısı gibi metriklerin korelasyonları tutarsız bulunmuştur. Dosyadaki hata sayıları ise anlamlı bir korelasyon göstermemiştir. Sonuç olarak, katkıda bulunan yazılımcı sayısının fazla olduğu ya da sık sık hata sebebiyle düzeltmeler yapılan dosyaların kodları genellikle daha az yapışkandır. Buna karşın, kod kalıcılığı yüksek olan yazılımcılar tarafından yüksek sayıda commit ya da kod hacmi ile düzenlenen dosyaların kodları, daha uzun süre varlıklarını sürdürme eğilimindedir. Yapışkanlık Skoru, yazılımcıların katkıları, kod karmaşıklığı, hata durumu ve kod kokusu gibi faktörlerin kodun ömrüyle olan ilişkisini anlamada değerli içgörüler sunar.

Author

Dr. Selen Uysal

How to Cite

Selen Uysal (Yüksek Lisans Tezi). Assessing software evolution with the stickiness score: Evaluating code persistence across files, folders, and developers, 2025, Bilkent University.

License

Tüm Hakları Saklıdır

This work is shared under the specified license terms.

More theses from Bilkent University