BİLDİRİLER

BİLDİRİ DETAY

Tuğba METİN TORTOP, Yunus Emre SELÇUK
REFACTORING TEKNİKLERİNİN YAZILIMIN İÇ KALİTE ÖZELLİKLERİ ÜZERİNDEKİ ETKİSİNİN İNCELENMESİ
 
Refactoring, mevcut kodun dış davranışını etkilemeksizin iç yapısını değiştirerek tasarımı iyileştirme sürecidir. Dolayısıyla geliştirme sürecine refactoring uygulamalarının dahil edildiği yazılımlarda iç kalite özelliklerinin iyileşmesi ve böylelikle yazılım kalitesinin artması beklenmelidir. Kaliteli bir yazılım üretmek bakım maliyetlerinin minimumda tutulması açısından oldukça önemlidir. Literatürde refactoringin yazılım kalitesi üzerindeki etkisini farklı açılardan inceleyen bir çok çalışma mevcuttur. Nesne yönelimli yazılım sistemlerinde refactoringin iç kalite özelliklerine etkisini inceleyen çalışmalar ise kısıtlıdır. Ayrıca mevcut çalışmalar çelişkili sonuçlar üretmiştir. Bu nedenle yeni çalışmalara gereksinim duyulmaktadır. Bu amaçla, bu tez çalışmasında Github repolarından elde edilen 12 açık kaynaklı, aktif ve popüler Java tabanlı projenin commit geçmişleri analiz edilmiştir. Toplam 5.948 commit’te tespit edilen 59.031 refactoring işlemi arasından, çalışmada odaklanılan 22 tür refactoring tekniğinin dağıldığı 10.954 işleme ait bir örneklem elde edilmiş, refactoringin yazılımın iç kalitesi üzerindeki etkisi Chidamber ve Kemerer metrikleri ölçümlenerek değerlendirilmiştir. Refactoringlerin tespiti ve metrik ölçüm işlemlerinin koordineli ve programatik yürüyebilmesi için çalışma kapsamında otomatik bir analiz yazılımı geliştirilmiştir. Bulguların hem yüzdesel etki tabloları oluşturulmuş hem de metrikler üzerinde etkili olan refactoringler için Wilcoxon İşaretli Sıralar Testi uygulanarak istatistiksel anlamlılıkları değerlendirilmiştir. Elde edilen bulgulara göre, bazı refactoringler metriklerde iyileşme ya da kötüleşmeye sebep olurken, bazıları metrikler üzerinde etkisizdir. Move And Inline Method tekniğinin iç kalite metriklerini istatistiksel anlamlılık derecesinde en fazla iyileştiren, Replace Variable With Field tekniğinin en fazla kötüleştiren refactoringler olduğu saptanmıştır. "Bu çalışma birinci sırada yer alan yazarın yükseklisans tezinden üretilmiştir. ORCID NO: 0009-0003-3921-9704"

Anahtar Kelimeler: Refactoring, Yazılım kalitesi, İç kalite metrikleri, Nesne Yönelimli Tasarım



 


Keywords: