On automatically classifying software code review feedback in the context of internal quality
Recent empirical studies show that the practice of peer-code-review improves soft- ware quality. Therein, the quality is examined from the external perspective of reducing the defects/failures, i.e., bugs, in reviewed software. There is a very little to no investiga- tion on the impact of peer-code-review on improving the internal quality of software, i.e., what exactly is a ected in code, due to this process. To this end, we conducted an empiri- cal study on the human-to-human discourse about the code changes, which are recorded in modern code review tools in the form of review comments. Our objective of this study was to investigate the topics which are typically addressed via the textual comments. Although, there is an existing taxonomy of topics, there is no automatic approach to categorize code reviews. We present a machine-learning-based approach to automatically classify the pro- posed code changes into its appropriate topic. We applied this approach on 468 code review comments of four open source systems, namely eclipse, mylyn, android and openstack. The result show that Textual and Organization categories are dominating topics. In an attempt to verify these observations, we analysed the code changes that developers performed on receiving these comments. We identi ed several refactorings that are congruent with the topics of review comments. Refactorings are mechanisms to improve internal structure of the code. Therefore, our work provides initial empirical evidence on the e ectiveness of peer-code-review on improving internal software quality.
Thesis (M.S.)--Wichita State University, College of Engineering, Dept. of Electrical Engineering and Computer Science