Bilkent University
Department of Computer Engineering




Hamdi Alperen Çetin
MS Student
(Supervisor: Asst. Prof. Dr. Eray Tüzün)
Computer Engineering Department
Bilkent University

Software artifacts are like the by-products of the development process. Through-out the life cycle of a project, developers produce different artifacts such as source files and bug reports. To analyze developer contributions, we construct artifact traceability graphs with these artifacts and their relations using the data from software development and collaboration tools. Developers are the main resource to build and maintain software projects. Since developers keep the knowledge of the projects, developer turnover is acritical risk for software projects. From different viewpoints, some developers can be valuable and indispensable for the project. They are the key developers of the project, and identifying them is a crucial task for managerial decisions. Regardless of whether they are key developers or not, when any developer leaves the project, the work should be transferred to another developer. Even though all developers continue to work on the project, the knowledge distribution can be imbalanced among developers. Evaluating knowledge distribution is importantsince it might be an early warning for future problems. We employ algorithms on artifact traceability graphs to identify key developers, recommend replacements for leaving developers and evaluate knowledge distribution among developers. We conduct experiments on six open source projects: Hadoop, Hive, Pig, HBase, Derby and Zookeeper. Then, we demonstrate that the identified key developers match the top commenters up to 98%, recommended replacements are correct up to 91%, and identified knowledge distribution labels are compatible up to 94% with the baseline approach.


DATE: 16 December 2020, Wednesday @ 11:00