Finding expert developers using artifact traceability graphs
Yapı izlenebilirlik çizgelerini kullanarak uzman geliştirici bulma
- Tez No: 898119
- Danışmanlar: YRD. DOÇ. DR. ERAY TÜZÜN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2024
- Dil: İngilizce
- Üniversite: İhsan Doğramacı Bilkent Üniversitesi
- Enstitü: Mühendislik ve Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 101
Özet
Mentörluk yazılım sektöründe yaygın olan bir uygulamadır. Bu uygulama ile mentör işe yeni başlayan bir danışan ile eşleşir ve danışanın işe başlama süreci kolaylaşır. Daha sonra, yazılım geliştirme sürecinde, geliştiriciler kod temelinin aşina olmadıkları bölümlerinde çalışabilirler. İki durumda da olası sorular için doğru geliştiriciyi bulmak gerekmektedir. Bu çalışma ile kod temelinin bir bölümü, örneğin klasör, dosya ve method, için katkı (commit) ve kod inceleme geçmişini kullanarak uzman geliştirici öneren bir algoritma oluşturmayı amaçlıyoruz. Yapı izlenebilirlik çizgesini katkı (commit) geçmişi, method değişiklik geçmişi, kod inceleme geçmişi ve sorun raporları geçmişini kullanarak inşa ediyoruz. Çizgede bulunan ilişkileri, güncellik ve sezgisel olarak belirlediğimiz bir ağırlık katsayısı ile ağırlıklandırıyoruz. Çizgeyi kullanarak geliştiricilerin bir kod bölümündeki (klasör, dosya ve method) uzmanlığını simgeleyen bir skor hesaplıyoruz ve uzmanlığı en yüksek olan geliştiricileri öneriyoruz. Uzman Geliştirici Bulucu algoritmamızın başarısını ölçmek için algoritmanın önerilerini ilgili sorun raporlarına yorum bırakan geliştiriciler ile karşılaştırıyoruz. Algoritmamızı üç açık kaynaklı projede (Apache Nutch, OpenNLP ve Curator) çalıştırdık. Ağırlıklı önerilerde, ortalama olarak, klasörler için %84, dosyalar için %82, methodlar için %88 doğruluğa ulaştık. Ağırlıklı olmayan önerilerde, ortalama olarak, klasörler için \%84, dosyalar için %84, methodlar için %93 doğruluğa ulaştık. Sonuçlarımızın Uzman Geliştirici Bulucu algoritmasının proje geçmişini kullanarak uzman geliştirici önerebildiğini gösterdiğine inanıyoruz. Ancak, yapı izlenebilirlik çizgesindeki ağırlıkların ince ayarını yapmak için daha fazla çalışma gerekmektedir.
Özet (Çeviri)
Mentoring is a commonly used practice in the software industry where mentors and mentees are matched to ease the onboarding process of the mentee, who is a newcomer. Also, during a project's life cycle, developers work on sections of the codebase that are unfamiliar to them. Both cases raise the task of finding an expert developer to contact for possible questions. With this study, we aim to construct an algorithm that recommends expert developers for a specific part of the codebase, namely folders, files, and methods, based on previous developer activities such as commits and code reviews. We construct an artifact traceability graph using commit history, method change history, code review history, and issue history. The relationships in the graph are weighted according to recency and a weight coefficient we determine intuitively. Utilizing this graph, we calculate a score representing the developer's expertise level on a folder, file, or method, and recommend developers with the highest expertise. To evaluate the success of our algorithm, Expert Developer Finder, we compare its recommendation with the developers who commented on related issues. We run our algorithm on three open-source projects - Nutch, OpenNLP, and Curator. On average, for weighted recommendations, we reached up to 84\% accuracy for folders, 82\% accuracy for files, and 88\% accuracy for methods. On average, for unweighted recommendations, we reached up to 84\% accuracy for folders, 84\% accuracy for files, and 93\% accuracy for methods. We believe that our results show that the Expert Developer Finder algorithm is able to recommend experts by utilizing the historical data of projects. However, further work is required to fine-tune the weights set in the artifact traceability graph.
Benzer Tezler
- Erzurum'da tarihi eserlere yönelik ilgi ve farkındalığa ilişkin bir yerel tarih çalışması
A local history study on the interest and awareness of historical monuments in Erzurum
RABİA YALÇIN
Yüksek Lisans
Türkçe
2019
Eğitim ve ÖğretimAtatürk ÜniversitesiTürkçe ve Sosyal Bilimler Eğitimi Ana Bilim Dalı
DOÇ. DR. AYDIN GÜVEN
- Görüntü işleme yöntemi kullanılarak arkeolojik bulgular üzerinde pişme seviye tespiti
Baking level determination on archeological artifacts using image processing
BERKAY AKKUŞ
Yüksek Lisans
Türkçe
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Okan ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. SEMİH BİLGEN
- İnvaziv meme kanseri örneklerinde yapay zeka yöntemleri kullanılarak otomatik mitoz tespiti
Automatic mitosis detection using artificial intelligence methods in invasive breast cancer samples
GİZEM SOLMAZ YILMAZ
Yüksek Lisans
Türkçe
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul ÜniversitesiMoleküler Biyoloji ve Genetik Ana Bilim Dalı
PROF. DR. EVREN ÖNAY UÇAR
DOÇ. DR. FATMA TOKAT
- Ameliyathanede kullanılan cerrahi setlerin öğretimine yönelik bir sanal gerçeklik simülasyonunun geliştirilmesi ve değerlendirilmesi
Development and evaluation of a virtual reality simulation to teach surgical sets used in the operating room
ZEYNEP TAÇGIN
Doktora
Türkçe
2017
Eğitim ve ÖğretimMarmara ÜniversitesiBilgisayar ve Öğretim Teknolojileri Eğitimi Ana Bilim Dalı
YRD. DOÇ. DR. AHMET ARSLAN
- Mimari tasarım sürecinin erken aşamasında kullanılacak artırılmış gerçeklik uygulamalarının geliştirilmesi için bir yöntem önerisi
A new approach for development of a mobile augmented reality application to be used in the early phases of the architectural design process
MAHMUT ÇAĞDAŞ DURMAZOĞLU
Doktora
Türkçe
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilişim Ana Bilim Dalı
PROF. DR. LEMAN FİGEN GÜL