Master'sOpen Access

Güncel yazılım süreçlerinin yapay zeka yaklaşımları ile iyileştirilmesi

2024
0 views
0 downloads
Advisor: Dr. Öğr. Üyesi Muhammed Fatih Adak

Abstract (TR)

Kaynak kodun anlaşılabilirliği ve bakımı, yazılım geliştirme sürecinin kritik bir yönünü oluşturur. Kaynak kod içerisine eklenen yorum satırları, kodun anlaşılabilirliğini ve sürdürülebilirliğini artırmada önemli bir rol oynar. Ancak, kaynak kodu açıklayan kapsamlı yorumların yazılması, yoğun emek gerektiren, hata yapmaya eğilimli ve tutarsızlıklarla dolu bir süreç olabilir. Bu çalışma, kaynak kodu özetleme ve yorum oluşturma süreçlerini otomatikleştirmek için Doğal Dil İşleme (NLP) tekniklerinin etkinliğini araştırmayı amaçlamaktadır. Ayrıca en son teknolojiye sahip Doğal Dil İşleme modellerinden yararlanan bir yaklaşımla, kaynak kod işlevlerinin özetlenmesi ve otomatik olarak açıklayıcı yorumlar oluşturulması hedeflenmektedir. Bu bağlamda, kaynak kodun anlaşılabilirliğini arttırmak amacıyla oluşturulan yorumların yeterliliğini değerlendiren yeni bir matematiksel değerlendirme indeksi önerilmektedir. Bu çalışmada, bazı popüler GitHub depoları analiz edilerek Java projeleri incelenmiş ve Doğal Dil İşleme yaklaşımları kullanılarak javadoc dokümantasyonuna sahip olmayan Java metotları için javadoc dokümantasyonu üretilmiştir. Geliştirilen indeks yardımıyla, analiz edilen GitHub deposunun önceki ve sonraki durumları değerlendirilmiş, iyileşme olup olmadığı ve iyileşme varsa bunun derecesi tespit edilerek yorumlanmıştır. Ayrıca, önerilen indeks, literatürde bulunan farklı indeksler ile karşılaştırılmıştır. Aralarındaki temel farklar ve birbirleriyle uyumları analiz edilmiştir. Döngüsel karmaşıklık (cyclomatic complexity) değeri, yüksek olan yazılım projelerinin, karmaşıklıklarının doğası gereği, kapsamlı bir şekilde açıklanması ve belgelendirilmesi büyük önem arz etmektedir. Bu tür projeler için daha uzun ve detaylı yorumlar üretilmesi gereksede, aşırı ve gereksiz yorumların yazılması yazılım projesinin kalitesini olumsuz etkileyebilir. Dolayısıyla, dengeli ve optimal bir yorum üretimi sağlamak amacıyla, bu çalışma kapsamında üretilmesi gereken yorum miktarını belirleyen yeni bir teknik geliştirilmiştir. Bu teknik sayesinde, javadoc dokümantasyonu üretilecek her bir Java metodu için, uygun miktarda ve yeterli detayda javadoc dokümantasyonu oluşturulması amaçlanmıştır. Böylece her bir metodun gereksinimlerine uygun miktarda dokümantasyon oluşturulmasına çalışılarak, yazılımın anlaşılabilirliği ve bakımının kolaylaştırılması hedeflenmektedir. Bu çalışmada dört farklı GitHub deposu detaylı bir şekilde incelenmiştir. İnceleme sürecinde, her bir GitHub deposunun javadoc üretimi öncesi ve sonrası durumları karşılaştırılmıştır. Yapılan analizler sonucunda, her bir depoda %20 ile %60 arasında değişen oranlarda iyileşme sağlandığı gözlemlenmiştir. Elde edilen bu olumlu sonuçlar, otomatik yorum üretme yaklaşımlarının etkili bir şekilde uygulanabilirliğini ortaya koymakta ve bu tekniklerin yakın gelecekte çok daha başarılı ve yaygın bir şekilde kullanılabileceğini göstermektedir. Bu bulgular, yazılım projelerinin anlaşılabilirliğini ve sürdürülebilirliğini artırma potansiyeli taşımaktadır ve Doğal Dil İşleme tekniklerinin yazılım dokümantasyonu alanında sağladığı katkıları vurgulamaktadır. Çalışmanın sonuçları, yazılım mühendisliği alanında daha ileri düzeyde otomasyonun mümkün olabileceğini ve bu tür yaklaşımların, yazılım geliştirme süreçlerini önemli ölçüde iyileştirebileceğini göstermektedir.

Author

Dr. Mustafa Alp Eren Kılıç

How to Cite

Mustafa Alp Eren Kılıç (Yüksek Lisans Tezi). Güncel yazılım süreçlerinin yapay zeka yaklaşımları ile iyileştirilmesi, 2024, Sakarya University.

Keywords

License

Tüm Hakları Saklıdır

This work is shared under the specified license terms.

More theses from Sakarya University