Tez Türü: Doktora
Tezin Yürütüldüğü Kurum: Eskişehir Osmangazi Üniversitesi, FEN BİLİMLERİ ENSTİTÜSÜ, Bilgisayar Mühendisliği, Türkiye
Tez Danışmanı: Kemal Özkan
Tezin Onay Tarihi: 2023
Tezin Dili: Türkçe
Özet:
Modern kod incelemesi, güvenliği sağladığı, hataları erken tespit ettiği ve kod kalitesini iyileştirdiği için yazılım geliştirme süreçlerinde kritik bir adımdır. Ancak, manuel incelemeler zaman alıcı ve güvenilmez olabilmektedir. Otomatik kod incelemesi bu sorunları çözebilir. Kod inceleme yorumlarını önermek için önerilmiş derin öğrenme yöntemleri olsa da, bunların eğitilmesi ve çalıştırılması maliyetlidir. Bunun yerine, otomatik kod incelemesi için bilgi erişim tabanlı yöntemler verimlilik, etkililik ve esneklik açısından umut verici sonuçlar sergilemektedir. Ana hedef, otomatik kod incelemede en iyi sonuçları veren vektöre dönüştürme yöntemi ile benzerlik yönteminin optimal kombinasyonunu belirlemek ve böylece bilgi erişim tabanlı yöntemlerin performansını ölçmektir. Ayrıca ön işlemlerin modellerin başarısı üzerindeki etkisini incelemek de hedefler arasında bulunmaktadır. Önceki araştırmalardan (TF-IDF ve Bag-of-Words) farklı olan birden fazla vektörleştirme yöntemi (Word2Vec, Doc2Vec ve Transformer) ve benzerlik yöntemi (Kosinüs, Öklid ve Manhattan) kaynak kod metinleri arasındaki anlamsal benzerlikleri belirlemek için çalışmaya dahil edilmiştir. BLUE, METEOR ve ROUGE-L gibi standart metrikleri kullanarak bu yöntemlerin performansı değerlendirilmiş ve modellerin çalışma süreleri de sonuçlara dahil edilmiştir. Elde edilen sonuçlara göre Transformer modeli tüm standart metriklerde ve benzerlik ölçümlerinde son çalışmalara göre daha iyi performans göstermektedir. Ayrıca tam eşleşme sağlamada %19,1'lik ve benzer öneriler sağlamada %6,2'lik bir iyileşme görülmektedir. Elde edilen bulgular, transformer modelinin, insanlar tarafından yazılanlara çok benzeyen kod inceleme yorumları önermek için oldukça etkili ve verimli bir yaklaşım olduğunu, otomatik kod inceleme sistemleri geliştirmek için değerli bilgiler sağladığını göstermektedir.