Visualising Interactions Between Developers During Code Review (available)

Starting Date: Summer 2023
Prerequisites: Good programming skills in JavaScript and Python
Will results be assigned to University: No

Code review (sometimes referred to as pull request) is a code change auditing technique done by developers other than the author of the change. Recent studies demonstrated diverse benefits of code review. For example, Bacchelli and Bird reported that code review is effective to share knowledge between developers and to improve code changes [1].

In this project, we aim to develop a tool visualising developers’ interactions. This project can be split into three phases: 1) mining code review comments from GitHub, 2) analysing interactions between developers, and 3) visualising the interactions. For mining code review comments from GitHub, you will use GitHub GraphQL API [2]. You can learn how to use GraphQL APIs and crawl and manage hundreds of thousands of data. After mining the data, you need to process it and store it in a relational database to ease analysis. Finally, you need to implement a web service that can visualise the interactions between developers. You need to build a backend service that interacts with the database and handles queries. In addition, you need to build a frontend service that visualises the data from the backend. For the visualisation, we can use well-implemented data visualisation libraries (e.g., D3.js [3]).

[1] Bacchelli, A. and Bird, C., 2013, May. Expectations, outcomes, and challenges of modern code review. In 2013 35th International Conference on Software Engineering (ICSE) (pp. 712-721). IEEE.

[2] GitHub GraphQL API Documentation, https://docs.github.com/en/graphql

[3] D3.js, https://d3js.org