Automated priority detection in software bugs: A comprehensive study on transformer-based encoders with contrastive learning, large language models and vector databases for enhanced efficiency


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Orta Doğu Teknik Üniversitesi, Fen Bilimleri Enstitüsü, BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI, Türkiye

Tezin Onay Tarihi: 2024

Tezin Dili: İngilizce

Öğrenci: EYÜP HALİT YILMAZ

Asıl Danışman (Eş Danışmanlı Tezler İçin): İsmail Hakkı Toroslu

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

Özet:

Yazılım geliştirme süreçleri, emek ve zaman yatırımı gerektiren birçok zorluğu bünyesinde barındırmaktadır. Zamanla bu zorlukların üstesinden gelmek, yazılım geliştirme ve bakım süreçlerini otomatize edebilmek için birçok araç ve teknik geliştirilmiştir. Yazılım hata raporları, kullanıcılar veya geliştiriciler tarafından programların operasyonel hatalarını belgeleyen, genellikle kod parçacıkları ve hata mesajlarını içeren metinsel açıklamalardır. Bu raporlar daha sonra hataları düzeltmek için atanan geliştirici tarafından incelenir. Hata düzeltme süreçlerinin otomatikleştirilmesi, belirli bir hata raporuna atanacak en uygun geliştiricinin belirlenmesini, hata düzeltme süresinin tahmin edilmesini, öncelik düzeyinin tahmin edilmesini vb. içerir. Bu tez, en son teknoloji sınıflandırma tekniklerini kullanarak otomatik yazılım hata raporu öncelik tespitine odaklanmaktadır. Oldukça başarılı olan dönüştürücü tabanlı kodlayıcı sınıflandırıcılar, açık kaynak veri kümeleri kullanılarak ince ayar eğitimi kullanılarak yazılım alanına uyarlanır. Öte yandan Büyük Dil Modelleri (LLM'ler), öncelik sınıfı tahmini için yapılandırılabilen, metin üretimi için özel olarak eğitilmiş, yakın zamanda popüler hale gelen dönüştürücü tabanlı kod çözücü ağlarıdır. LLM çıktısını istenen formatta doğru bir şekilde şekillendirmek için, ağı nihai sınıflandırma görevine ve etki alanına göre koşullandırmak için Bilgi İyileştirmeyle Geliştirilmiş Üretim (RAG) kullanılır. Vektör veritabanları, hata raporlarındaki metin içeriğinin kosinüs benzerliğine göre saklanmasına ve çıkarım sırasında ilgili örneklerin alınmasına yardımcı olur.