当前位置: X-MOL 学术arXiv.cs.SE › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
The effects of change decomposition on code review -- a controlled experiment
arXiv - CS - Software Engineering Pub Date : 2018-05-28 , DOI: arxiv-1805.10978
Marco di Biase, Magiel Bruntink, Arie van Deursen, Alberto Bacchelli

Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative studies hinted at how decomposing change sets into multiple yet internally coherent ones would improve the reviewing process. So far, literature provided no quantitative analysis of this hypothesis. Aims: (1) Quantitatively measure the effects of change decomposition on the outcome of code review (in terms of number of found defects, wrongly reported issues, suggested improvements, time, and understanding); (2) Qualitatively analyze how subjects approach the review and navigate the code, building knowledge and addressing existing issues, in large vs. decomposed changes. Method: Controlled experiment using the pull-based development model involving 28 software developers among professionals and graduate students. Results: Change decomposition leads to fewer wrongly reported issues, influences how subjects approach and conduct the review activity (by increasing context-seeking), yet impacts neither understanding the change rationale nor the number of found defects. Conclusions: Change decomposition reduces the noise for subsequent data analyses but also significantly supports the tasks of the developers in charge of reviewing the changes. As such, commits belonging to different concepts should be separated, adopting this as a best practice in software engineering.

中文翻译:

变更分解对代码审查的影响——受控实验

背景:代码审查是一个认知要求高且耗时的过程。之前的定性研究暗示了将变更集分解为多个但内部连贯的变更集将如何改进审查过程。迄今为止,文献没有对这一假设进行定量分析。目标: (1) 定量衡量变更分解对代码审查结果的影响(根据发现的缺陷数量、错误报告的问题、建议的改进、时间和理解);(2) 定性分析主体如何进行审查和导航代码、构建知识和解决现有问题,在大的与分解的变化中。方法:使用拉动式开发模型进行受控实验,涉及专业人士和研究生中的 28 名软件开发人员。结果:变更分解会减少错误报告的问题,影响主体如何接近和进行审查活动(通过增加上下文搜索),但既不影响理解变更的基本原理,也不影响发现的缺陷数量。结论:变更分解降低了后续数据分析的噪音,但也极大地支持了负责审查变更的开发人员的任务。因此,属于不同概念的提交应该分开,将其作为软件工程中的最佳实践。变更分解降低了后续数据分析的噪音,但也极大地支持了负责审查变更的开发人员的任务。因此,属于不同概念的提交应该分开,将其作为软件工程中的最佳实践。变更分解降低了后续数据分析的噪音,但也极大地支持了负责审查变更的开发人员的任务。因此,属于不同概念的提交应该分开,将其作为软件工程中的最佳实践。
更新日期:2020-01-22
down
wechat
bug