Nesneye Dayalı Programlama Tabanlı Yazılımlarda Yazılım Metrikleri Kullanılarak Yapısal Kod Klon Tespiti


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Yıldız Teknik Üniversitesi, Fen Bilimleri Enstitüsü, -, Türkiye

Tezin Onay Tarihi: 2014

Tezin Dili: Türkçe

Öğrenci: Mustafa Kapdan

Danışman: Mehmet Sıddık Aktaş

Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu

Özet:

Gereksiz tekrarlanmış kodlar (klonlar) iyi dokümante edilmemiş ve bakımı zor olan kodlardır. Bu tip kodlarda, tespit edilen bir hatanın tüm tekrarlarda düzeltilmesi gerekir. Bu durum yazılım bakım maliyetlerini önemli ölçüde artırdığı gibi kodların okunabilirliği ve anlaşılabilirliği için daha fazla çaba sarf edilmesini de gerektirir. Günümüz literatüründe kod klon problemlerini azaltmak ya da engellemek için birçok teknik önerilmiştir. Bu tekniklerin odağında basit klon ve yapısal klon kod tespiti yer almaktadır. Klon kod'lar iki ana başlık altında incelenmektedir. Yazılım içerisinde kod parçacığının benzerliğinden kaynaklanan kod tekrarlamalarına basit klon adı verilirken, sistem mimarisi içerisinde, aynı yapı ile inşa edilmiş kodlara yapısal klon denmektedir. Basit klon tespit teknikleri, tekrarlanan kod parçacıklarına geniş bir açıdan bakamadıkları için, tasarım seviyesindeki olası tekrarlamalardan kaynaklanan yapısal kod klonlarını saptayamamaktadır. Buradaki eksikliği gidermeyi amaçlayan yapısal klon tespitleri ise, yazılımdaki üst seviye benzerliklerinin ortaya çıkartılması, yeniden kullanılabilirliğin artırılması ve yazılımın basitleştirilmesine odaklanmaktadır. Yapısal klon tespit teknikleri literatürde önerilen basit klon tekniklerinin kullanımına dayanmaktadır. Bu tez kapsamında metrik tabanlı olarak yapısal kod klon tespiti için en uygun metrikler ve bu metriklere dayalı olarak klon tespit metodolojisi önerilmektedir. Ortaya konan yöntembilimi gerçeklenerek, açık kaynaklı Sonar Kalite Ölçüm aracına eklenti olarak geliştirilmektedir. Yöntemin değerlendirilmesi yapılmakta ve sadece metriklere dayalı olarak yapısal kod klon tespitlerinde başarılı sonuçlar alındığı ortaya konulmaktadır.