Date of Award:
12-2017
Document Type:
Thesis
Degree Name:
Master of Science (MS)
Department:
Computer Science
Committee Chair(s)
Young-Woo Kwon
Committee
Young-Woo Kwon
Committee
Kyumin Lee
Committee
Tung Nguyen
Abstract
Software development is a collaborative process where many developers come together and work on a project. To make things easy and manageable, software is developed on a version control system. A version control system is a centralized system which stores code and adds code from all other developers as an increment to the code base in the repository. Since multiple people work on the same code repository together, it is important to make sure that their contributions do not conflict with each other. It is important to maintain the quality and integrity of the repository. This is where the code review process comes into the picture. All the changes made to the repository by developers are reviewed by other, preferably senior developers, before it is integrated into the repository. This is done to maintain a high standard of development. The problem is that this is a manual and highly time consuming process. This research proposes a tool that tries to optimize the code review process. This is done by ranking the changes that the developers need to review: this makes it easier for the developer to decide which change he/she needs to review first. Also since every reviewer has their own preference and style, the tool takes feedback from the code reviewer after every change and readjusts the ranked change list according to his/her feedback. Adding to that, the tool classifies each change and tags it so that the code reviewers have a better understanding of the change that he/she is about to review. It also provides additional refactoring information about each change. Refactoring changes are very easy to miss, since they are not usually erroneous changes, but they erode the quality of the software overtime. The tool points out these changes so that these changes are not missed by the code reviewer. The research was evaluated on 7 open source project and a usability study was conducted which prove that this tool does have a positive impact on the code review process.
Checksum
7504bebdd813c20f9b2a3b847a476b05
Recommended Citation
Mohanavilasam, Maneesh M., "Approaches, Techniques, and Tools for Identifying Important Code Changes to Help Code Reviewers" (2017). All Graduate Theses and Dissertations, Spring 1920 to Summer 2023. 6668.
https://digitalcommons.usu.edu/etd/6668
Included in
Copyright for this work is retained by the student. If you have any questions regarding the inclusion of this work in the Digital Commons, please email us at .