期刊文献+
共找到1篇文章
< 1 >
每页显示 20 50 100
Decomposing Composite Changes for Code Review and Regression Test Selection in Evolving Software
1
作者 Bo Guo Young-Woo Kwon Myoungkyu Song 《Journal of Computer Science & Technology》 SCIE EI CSCD 2019年第2期416-436,共21页
Inspecting and testing code changes typically require a significant amount of developer effort.As a system evolves,developers often create composite changes by mixing multiple development issues,as opposed to addressi... Inspecting and testing code changes typically require a significant amount of developer effort.As a system evolves,developers often create composite changes by mixing multiple development issues,as opposed to addressing one independent issue—an atomic change.Inspecting composite changes often becomes time-consuming and error-prone.To test unrelated edits on composite changes,rerunning all regression tests may require excessive time.To address the problem,we present an interactive technique for change decomposition to support code reviews and regression test selection,called ChgCutter.When a developer specifies code change within a diff patch,ChgCutter partitions composite changes into a set of related atomic changes,which is more cohesive and self-contained regarding the issue being addressed.For composite change inspection,it generates an intermediate program version that only includes a related change subset using program dependence relationships.For cost reduction during regression testing,it safely selects only affected tests responsible for changes to an intermediate version.In the evaluation,we apply ChgCutter to 28 composite changes in four open source projects.ChgCutter partitions these changes with 95.7% accuracy,while selecting affected tests with 89.0% accuracy.We conduct a user study with professional software engineers at PayPal and find that ChgCutter is helpful in understanding and validating composite changes,scaling to industry projects. 展开更多
关键词 SOFTWARE maintenance and evolution CODE review test SELECTION PROGRAM SLICING
原文传递
上一页 1 下一页 到第
使用帮助 返回顶部