An Issue Recommender Model Using Developer Collaboration Network

An Issue Recommender Model Using Developer Collaboration Network

Advisor: 

Ayse Basar Bener

Assigned to: 

Bora Caglayan

Type: 

Year: 

2014

Status: 

Summary:

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.

Özet:

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.

Contact us

Department of Computer Engineering, Boğaziçi University,
34342 Bebek, Istanbul, Turkey

  • Phone: +90 212 359 45 23/24
  • Fax: +90 212 2872461
 

Connect with us

We're on Social Networks. Follow us & get in touch.