Finding expert developers using artifact traceability graphs
buir.advisor | Tüzün, Eray | |
dc.contributor.author | Hanhan, İdil | |
dc.date.accessioned | 2024-09-19T08:54:50Z | |
dc.date.available | 2024-09-19T08:54:50Z | |
dc.date.copyright | 2024-09 | |
dc.date.issued | 2024-09 | |
dc.date.submitted | 2024-09-13 | |
dc.description | Cataloged from PDF version of article. | |
dc.description | Thesis (Master's): Bilkent University, Department of Computer Engineering, İhsan Doğramacı Bilkent University, 2024. | |
dc.description | Includes bibliographical references (leaves 81-87). | |
dc.description.abstract | 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. | |
dc.description.provenance | Submitted by Serengül Gözaçık (serengul.gozacik@bilkent.edu.tr) on 2024-09-19T08:54:50Z No. of bitstreams: 1 B162645.pdf: 1761377 bytes, checksum: dcf7efb697e7fe3df7c42b79e2274325 (MD5) | en |
dc.description.provenance | Made available in DSpace on 2024-09-19T08:54:50Z (GMT). No. of bitstreams: 1 B162645.pdf: 1761377 bytes, checksum: dcf7efb697e7fe3df7c42b79e2274325 (MD5) Previous issue date: 2024-09 | en |
dc.description.statementofresponsibility | by İdil Hanhan | |
dc.embargo.release | 2025-03-13 | |
dc.format.extent | xii, 89 leaves : color illustrations, charts ; 30 cm. | |
dc.identifier.itemid | B162645 | |
dc.identifier.uri | https://hdl.handle.net/11693/115832 | |
dc.language.iso | English | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.subject | Key developer | |
dc.subject | Artifact traceability graph | |
dc.subject | Expert developer | |
dc.subject | Mentor recommendation | |
dc.subject | Expert recommendation | |
dc.subject | Developer recommendation | |
dc.title | Finding expert developers using artifact traceability graphs | |
dc.title.alternative | Yapı izlenebilirlik çizgelerini kullanarak uzman geliştiricileri bulma | |
dc.type | Thesis | |
thesis.degree.discipline | Computer Engineering | |
thesis.degree.grantor | Bilkent University | |
thesis.degree.level | Master's | |
thesis.degree.name | MS (Master of Science) |