Using Machine Intelligence to Prioritise Code Review Requests

Detta är en Master-uppsats från Blekinge Tekniska Högskola/Institutionen för programvaruteknik

Sammanfattning: Background: Modern Code Review (MCR) is a process of reviewing code which is a commonly used practice in software development. It is the process of reviewing any new code changes that need to be merged with the existing codebase. As a developer, one receives many code review requests daily that need to be reviewed. When the developer receives the review requests, they are not prioritised. Manuallyprioritising them is a challenging and time-consuming process. Objectives: This thesis aims to address and solve the above issues by developing a machine intelligence-based code review prioritisation tool. The goal is to identify the factors that impact code review prioritisation process with the help of feedback provided by experienced developers and literature; these factors can be used to develop and implement a solution that helps in prioritising the code review requests automatically. The solution developed is later deployed and evaluated through user and reviewer feedback in a real large-scale project. The developed prioritisation tool is named as Pineapple. Methods: A case study has been conducted at Ericsson. The identification of factors that impact the code review prioritisation process was identified through literature review and semi-structured interviews. The feasibility, usability, and usefulness of Pineapple have been evaluated using a static validation method with the help of responses provided by the developers after using the tool. Results: The results indicate that Pineapple can help developers prioritise their code review requests and assist them while performing code reviews. It was found that the majority of people believed Pineapple has the ability to decrease the lead time of the code review process while providing reliable prioritisations. The prioritisations are performed in a production environment with an average time of two seconds. Conclusions: The implementation and validation of Pineapple suggest the possible usefulness of the tool to help developers prioritise their code review requests. The tool helps to decrease the code review lead-time, along with reducing the workload on a developer while reviewing code changes.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)