Assessing software evolution with the stickiness score: Evaluating code persistence across files, folders, and developers
Yazılım evriminin yapışkanlık skoruyla değerlendirilmesi: Dosyalar, klasörler ve yazılımcılar arasında kod kalıcılığının incelenmesi
- Tez No: 938064
- Danışmanlar: DR. ÖĞR. ÜYESİ ERAY TÜZÜN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2025
- Dil: İngilizce
- Üniversite: İhsan Doğramacı Bilkent Üniversitesi
- Enstitü: Mühendislik ve Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 109
Özet
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.
Özet (Çeviri)
Software evolution involves continuous code changes, making it essential to understand factors that influence code stability and persistence. This study introduces a metric called the“Stickiness Score,”measuring the longevity of lines of code (LOC) within a project. It reflects how much of the LOC written by developers or belonging to a specific file or folder has persisted over time. The goal is to examine its correlation with various software metrics: contributor count, developer Stickiness Scores (average, commit-weighted average, and LOC-weighted average), cyclomatic complexity, bug-fix count, and static code analysis metrics, including bug and code smell counts. Stickiness Scores for developers, files, and folders are calculated using the tool developed for this study, Devotion, across five open-source projects. Spearman correlation tests were used to analyze the relationship between file Stickiness Scores and the specified software metrics. Contributor count exhibited a strong negative correlation with file Stickiness Scores. Commit- and LOC-weighted developer Stickiness Scores showed positive correlations, while unweighted averages produced mixed results. Cyclomatic complexity, bug-fix count, and code smell count showed inconsistent correlations. The bug counts in files showed no significant correlation. In conclusion, files with more contributors or frequent bug-related changes tend to be less sticky. In contrast, files modified by high-commit or high-volume contributions from developers with higher stickiness tend to persist longer. The Stickiness Score provides valuable insight into how contributor activity, code complexity, bugginess, and smells relate to code longevity.
Benzer Tezler
- Araç tahrik sistemleri için farklı malzeme nüveli manyetik dişli tasarımı ve optimizasyonu
Design and optimization of magnetic gears with different material core for vehicle drive systems
TANER DİNDAR
Doktora
Türkçe
2025
EnerjiKocaeli ÜniversitesiEnerji Sistemleri Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ KADİR YILMAZ
- Kültür varlıkları için katılımcı koruma önerileri geliştirilmesinde dijital araçların kullanımı
The utilization of digital tools in the development of participatory conservation recommendations for cultural heritage assets
İLKİM TUNCER
Yüksek Lisans
Türkçe
2024
MimarlıkÇukurova ÜniversitesiMimarlık Ana Bilim Dalı
PROF. DR. FAZİLET DUYGU SABAN
- Gemi radar sistemlerinde uzaktan kod yürütme (RCE) tehditlerini azaltmaya yönelik siber güvenlik önlemlerinin bayes ağı metoduyla değerlendirilmesi
Evaluation of cybersecurity measures to mitigate remote code execution (RCE) threats in shipboard radar systems using the bayesian network method
EMRE DÜZENLİ
Yüksek Lisans
Türkçe
2024
Deniz Bilimleriİstanbul Teknik ÜniversitesiDeniz Ulaştırma Mühendisliği Ana Bilim Dalı
DOÇ. DR. PELİN BOLAT
- Geography of social networks: The case of creative industries in Tomtom Neighborhood
Sosyal ağların coğrafyası: Tomtom Mahallesi'ndeki yaratıcı endüstriler örneği
ÖZLEM TEPELİ TÜREL
Doktora
İngilizce
2023
Şehircilik ve Bölge Planlamaİstanbul Teknik ÜniversitesiŞehir ve Bölge Planlama Ana Bilim Dalı
DOÇ. DR. BAŞAK DEMİREŞ ÖZKUL
PROF. DR. SİLVİA MUGNANO
- Elazığ - Sivrice ve Gezin civarının yeraltı yapısının gravite verileri kullanılarak modellenmesi
Modelling of the subsurface structures of Elazığ - Sivrice and Gezin region by using gravity data
NEDİM GÖKHAN AYDIN
Doktora
Türkçe
2024
Jeofizik Mühendisliğiİstanbul Teknik ÜniversitesiJeofizik Mühendisliği Ana Bilim Dalı
PROF. DR. TURGAY İŞSEVEN