Bilkent University
Department of Computer Engineering
M.S.THESIS PRESENTATION

 

Finding Expert Developers Using Artifact Traceability Graphs

 

İdil Hanhan

Master Student
(Supervisor: Asst. Prof. Eray Tüzün)
Computer Engineering Department
Bilkent University

Abstract: Mentoring is a commonly used practice in the software industry where mentors and mentees are matched to ease the mentee's onboarding process. Later, 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 develop an algorithm that recommends expert developers for a specific part of the codebase, namely folders, files, and methods, based on previous developer activities. 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. Utilizing this graph, we calculate a score representing the developer's expertise level on an artifact and recommend developers with the highest expertise. To evaluate the success of our algorithm, Expert Developer Finder, we compare the algorithm's 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.

 

DATE: September 11, Wednesday @ 15:30 Place: EA 409