Automated Regression Unit Test Generation for Program Merges
Tao Ji, Liqian Chen, Xiaoguang Mao, Xin Yi, Jiahong Jiang

TL;DR
This paper introduces TOM, a tool for automated regression unit test generation to detect merge conflicts in Java programs, supporting various merge types and improving conflict detection over existing verification methods.
Contribution
It presents a novel approach and tool for generating regression unit tests tailored for program merges, supporting 2-way, 3-way, and octopus merges with a new dependency-based selection algorithm.
Findings
TOM detected 45 3-way merge conflicts and 87 octopus merge conflicts.
Verification-based tools failed on the MCon4J benchmark.
The approach improves conflict detection in software merge scenarios.
Abstract
Merging other branches into the current working branch is common in collaborative software development. However, developers still heavily rely on the textual merge tools to handle the complicated merge tasks. The latent semantic merge conflicts may fail to be detected and degrade the software quality. Regression testing is able to prevent regression faults and has been widely used in real-world software development. However, the merged software may fail to be well examined by rerunning the existing whole test suite. Intuitively, if the test suite fails to cover the changes of different branches at the same time, the merge conflicts would fail to be detected. Recently, it has been proposed to conduct verification on 3-way merges, but this approach does not support even some common cases such as different changes made to different parts of the program. In this paper, we propose an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software Reliability and Analysis Research
