Techniques |
Applicability |
TCS
|
Industry Motivation
Industry Author
Practitioner Feedback
Put into Practice
|
Experiment subject(s) |
Industrial Partner |
Programming Language |
Generated test suite based on four open-source Java projects (totaling 3456 TCs)
Synthetic data, large scale |
PayPal (USA) |
Java |
Effectiveness Metrics |
Efficiency Metrics |
Other Metrics |
Accuracy/precision/recall
|
|
|
Information Approach |
Algorithm Approach |
Open Challenges |
Change-based
|
|
Evaluate on human-written test suites; explore further heuristics; avoid false positives.
|
Abstract
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. © 2019, Springer Science+Business Media, LLC & Science Press, China.