Background: Modern Code Review (MCR) is a key component for delivering high-quality software and sharing knowledge among developers. Effective reviews require an in-depth understanding of the code and demand from the reviewers to contextualize the change from different perspectives. Aim: While there is a plethora of research on solutions that support developers to understand changed code, we have observed that many provide only narrow, specialized insights and very few aggregate information in a meaningful manner. Therefore, we aim to provide a vision of improving code understanding in MCR. Method: We classified 53 research papers suggesting proposals to improve MCR code understanding. We use this classification, the needs expressed by code reviewers from previous research, and the information we have not found in the literature for extrapolation. Results: We identified four major types of support systems and suggest an environment for contextualized code reviews. Furthermore, we illustrate with a set of scenarios how such an environment would improve the effectiveness of code reviews. Conclusions: Current research focuses mostly on providing narrow support for developers. We outline a vision for how MCR can be improved by using context and reducing the cognitive load on developers. We hope our vision can foster future advancements in development environments.
翻译:背景:现代代码审查(MCR)是交付高质量软件和在开发者之间共享知识的关键组成部分。有效的审查需要深入理解代码,并要求审查者从不同角度将变更情境化。目的:尽管已有大量研究支持开发者理解变更代码,但我们注意到许多研究仅提供狭窄的专业见解,很少有研究以有意义的方式聚合信息。因此,我们旨在提出一个改善MCR中代码理解的愿景。方法:我们对53篇提出改进MCR代码理解方案的研究论文进行了分类。我们利用这一分类、先前研究中代码审查者表达的需求以及文献中未发现的信息进行推断。结果:我们识别出四种主要类型的支持系统,并提出了一种情境化代码审查的环境。此外,我们通过一系列场景说明了这种环境如何提高代码审查的有效性。结论:当前研究主要侧重于为开发者提供狭窄的专门支持。我们概述了一个愿景,即通过利用情境和减轻开发者的认知负荷来改进MCR。我们希望我们的愿景能促进开发环境未来的进步。