Kaynak Kod Benzerliklerinin Tespitine Yönelik Bir Paralel Web Uygulamasının Geliştirilmesi


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Atatürk Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı, Türkiye

Tezin Onay Tarihi: 2015

Tezin Dili: Türkçe

Öğrenci: Uğur Kılıç

Danışman: Deniz Dal

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

Özet:

Kaynak kodları arasındaki benzerliklerin tespiti birçok alanda önem arz etmektedir. Endüstriyel uygulamalarda, örneğin geniş ölçekli yazılım projelerinde, kaynak kodlarının aynen veya kısmi değişiklikler yapılarak yeniden kullanılmasına sıklıkla rastlanılmaktadır. Bu ise yazılımın okunabilirliğini azaltmakta ve bakımını zorlaştırmaktadır. Oysaki bu durumun önüne yazılımın yeniden yapılandırılması aşamasında kaynak kod benzerlik tespit yazılımları kullanılarak geçilebilir. Bu sayede kaynak kod dosyaları arasındaki kopyalanmış kod blokları tespit edilebilir, bu kod blokları sadeleştirilebilir ve tek bir fonksiyon altında toplanabilir. Eğitim alanındaki, özellikle programlama derslerine kayıtlı öğrenciler arasında yaygın olarak rastlanan kaynak kod paylaşımı da tespiti önemli bir başka sorundur. Şüphesiz ki bu durum öğretim kalitesini düşürmekte ve değerlendirme aşamasında haksızlıklara neden olmaktadır. Yukarıdaki paragrafta bahsedilen hususların motive ettiği bu tez kapsamında C/C++ ile yazılan kaynak kodlarının benzerliklerini tespit edecek paralel bir web uygulaması geliştirilmiştir. Bu amaçla Greedy String Tiling algoritması C# programlama dili ve çoklu iş parçacıkları sayesinde paralelleştirilmiştir. Söz konusu uygulama hem ulusal hem de uluslarası eğitim kurumları tarafından basit bir üyelik işlemi sonrasında ücretsiz kullanılmak üzere paylaşıma açılmıştır.