Tez No İndirme Tez Künye Durumu
387375
An issue recommender model using the developer collaboration network / Yazılım geliştirici ortak çalışma ağı kullanan hata raporu öneri modeli
Yazar:BORA ÇAĞLAYAN
Danışman: PROF. DR. AYŞE BENER ; PROF. DR. MEHMET OĞUZ TOSUN
Yer Bilgisi: Boğaziçi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:Bilgisayar yazılımları = Computer softwares
Onaylandı
Doktora
İngilizce
2014
122 s.
Tezin konusu yazılım kalitesi üzerinedir. Araştırma kapsamında, yeni gelen hata raporlarını kişilere atayan ve hataları düzeltecek yazılım geliştiriciler için hataya yatkın yazılım kodu modüllerini tahmin eden bir öneri modeli geliştirilmiştir. Bu modelde, yazılım modülleri üzerindeki çalışma ağı verisi ve hata raporu verisi kullanılmaktadır. Her hata raporu kategorisinde, yazılım geliştirici merkeziliği üzerinden hata raporları, yazılım geliştiricilere önerilmektedir. Tezde önerilen modelin performansı küresel olarak geliştirilen büyük ölçekli bir kurumsal yazılım üzerinde tahmin doğruluğu ve iş yükü dağılımı dengesizliği başarım kriterlerine göre sınanmıştır. Model, (i) Yazılım geliştirici iş yükü dengesizliği, (ii) Yazılım ekiplerine yeni katılan geliştirici gruplarına hata raporu atanması sorunlarına çözüm üretmesi için genişletilmiştir. Öğrenme tabanlı bir hata tahmin modelinin tahminleri yakın geçmişi göz önüne alarak gerçek zamanlı olarak güncellenmiştir. Yapılan deneysel analize göre, (i) Önerilen modelin başarımı hata raporu atamalarının tarihsel dağılımına yakınsamaktadır, (ii) Modele eklenen buluşsal yöntemler ile geliştirici iş yükü dağılımı daha dengeli hale getirilebilmektedir, (iii) Kronecker ağları yardımıyla ortak ̧calışmanın ileride nasıl bir yapıda olacağı tahmin edilerek yazılım ekiplerine yeni katılan geliştirici gruplarına hata raporu atanabilmektedir, (iv) Gerçek zamanlı hata tahmin modeliyle zaman içerisinde yanlış alarm oranları arttırılmadan hata yakalama performansı kayda değer miktarda artmaktadır.
Assignment of new issues to developers is an important part of software maintenance activities. In this research, we build an issue recommendation model that recommends new issues to developers and highlights the defect prone software modules to the developer who owns an issue. Existing solutions address the automated issue assignment problem through text mining. We propose a recommender model that uses the collaboration network of developers on software modules and the structured issue data as its input. We perform an exploratory analysis using the issue data of two large software systems and observe the trends in the issue ownership, issue defect relations and issue timelines. Our base model estimates the developer centrality for each issue category and recommends issues to developers based on their centrality ranking. We test the performance of our recommender using the maintenance data of a globally developed large enterprise software using recommendation accuracy and workload imbalance as the performance metrics. We extend the recommender to address, (i) The problem of developer workload imbalances, (ii) The problem of assigning issues to a new group of developers by using stochastic Kronecker networks to model the future structure of the collaboration network. We change a learning based defect predictor's output based on recent history to update the predicted defect-prone software modules on a real-time basis. Our empirical analysis shows that: (i) The performance of our recommender model approximates historical trends of issue allocation, (ii) Heuristics applied to the model output reduces the issue ownership inequalities and model approximation performance, (iii) Kronecker networks can be used to estimate the future collaboration on the issues and the model can be extended by them to propose issues to new developer groups, (iv) Real time defect prediction model can significantly improve probability of detection over time while not changing false alarm rates.