Öztürk, Muhammed MarufHorasan, Fahrettin2025-01-212025-01-212023https://search.trdizin.gov.tr/tr/yayin/detay/1222322https://hdl.handle.net/20.500.12587/2160615.10.2023Yazılım geliştirme süreci emek yoğun ve özellikle bakım aşaması diğer aşamalara göre daha fazla zaman alan bir süreçtir. Bu süreçte, yazılım tecrübesine bakılmaksızın her geliştirici kod yorumları oluşturabilir. Ancak, kodların kopyalanmasının bakım açısından riskler taşıdığı gibi, kod yorumlarının da eşsiz olmaması yazılım testini olumsuz etkileyen unsurlardan biridir. Nitekim Java gibi bazı programlama dilleri için kod yorumlarından test senaryoları üreten araçlar mevcuttur. Kod klon tespitinde kullanılan kelime ilişki çıkarma yöntemlerinden biri Word2Vec'tir. Ancak, bu yöntem sözlük eksikliğinden kaynaklanan belirsiz çıktıları üretebilmektedir. Diğer taraftan, kod yorum klon tespiti için geliştirilen yöntemlerin büyük çoğunluğu çapraz-dil klon tespitinde etkili değildir. Klon kod yorumlarının tespit edilmesinden sonra karşılaşılan en büyük güçlük klon kod yorumlarının silinmesidir. Nitekim bu süreç manuel olarak geliştiriciye bırakılan bir süreçtir. Geliştirici iki klon kod yorumundan istediğini siler. Ancak, bu işlem için kayna-kopya kod yorum ilişkisinin otomatik olarak çıkarılarak geliştiricinin yönlendirilmesi gerekmektedir. Böylelikle orijinal kod yorum bloku korunmuş olacaktır. Yukarıda bahsedilen problem göz önüne alınarak bu projede Word2Vec sözlük belirsizliğine yardımcı bir algoritma geliştirilmiştir. Algoritmanın özellik çıkarımında genetik algoritma yardımıyla optimizasyon uygulanmıştır. Geliştirilen yöntemin GLMNET algoritması yardımıyla kod klon tespitindeki başarısı gözlemlenmiştir. Farklı programlama dillerindeki kod klonlarının tespitindeki gözlemler şunlardır: 1) Java, C ve C# dilleri için python ve php dilleri ile kıyaslandığında daha yüksek başarı (0.95) elde edilmiştir, 2) Çapraz klon tahminin Java ile eğitilen model C ve php gibi dillerde daha umut verici sonuçlar üretmektedir, 3) Önerilen yöntem tip-1 ve tip-2 kod yorum klonları için daha uygun bir yöntem olarak bulunmuştur.trinfo:eu-repo/semantics/openAccessBilgisayar BilimleriYazılım MühendisliğiBilgisayar BilimleriYapay ZekaYazılım Projelerindeki Kod Yorum Satırı Klonlarının Evrimsel Derin Öğrenme Ile TespitiProject0351222322