Automated Regression Unit Test Generation for Program Merges.

作者: Jiahong Jiang , Xiaoguang Mao , Tao Ji , Liqian Chen , Xin Yi

DOI:

关键词:

摘要: Merging other branches into the current working branch is common in collaborative software development. However, developers still heavily rely on textual merge tools to handle complicated tasks. The latent semantic conflicts may fail be detected and degrade quality. Regression testing able prevent regression faults has been widely used real-world merged well examined by rerunning existing whole test suite. Intuitively, if suite fails cover changes of different at same time, would detected. Recently, it proposed conduct verification 3-way merges, but this approach does not support even some cases such as made parts program. In paper, we propose an unit generation specifically for checking program merges according our oracles. And general oracles us examine only also 2-way octopus merges. Considering arise locations besides changed methods project, design algorithm select UUTs based dependency analysis project. On basis, implement a tool called TOM generate tests Java We benchmark MCon4J consisting 389 conflict facilitate further studies topic. experimental results show that finds 45 3- way 87 while work MCon4J.

参考文章(32)
Gordon Fraser, Andrea Arcuri, EvoSuite: automatic test suite generation for object-oriented software foundations of software engineering. pp. 416- 419 ,(2011) , 10.1145/2025113.2025179
Bakhtiar Khan Kasi, Anita Sarma, Cassandra: proactive conflict minimization through optimized task scheduling international conference on software engineering. pp. 732- 741 ,(2013) , 10.5555/2486788.2486884
René Just, The major mutation framework: efficient and scalable mutation analysis for Java Proceedings of the 2014 International Symposium on Software Testing and Analysis - ISSTA 2014. pp. 433- 436 ,(2014) , 10.1145/2610384.2628053
Kunal Taneja, Tao Xie, Nikolai Tillmann, Jonathan de Halleux, eXpress Proceedings of the 2011 International Symposium on Software Testing and Analysis - ISSTA '11. pp. 1- 11 ,(2011) , 10.1145/2001420.2001422
Nan Niu, Fangbo Yang, Jing-Ru C. Cheng, Sandeep Reddivari, Conflict resolution support for parallel software development IET Software. ,vol. 7, pp. 1- 11 ,(2013) , 10.1049/IET-SEN.2012.0089
Susan Horwitz, Jan Prins, Thomas Reps, Integrating noninterfering versions of programs ACM Transactions on Programming Languages and Systems. ,vol. 11, pp. 345- 387 ,(1989) , 10.1145/65979.65980
Suzette Person, Matthew B. Dwyer, Sebastian Elbaum, Corina S. Pǎsǎreanu, Differential symbolic execution Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering - SIGSOFT '08/FSE-16. pp. 226- 237 ,(2008) , 10.1145/1453101.1453131
Mario Luis Guimaraes, Antonio Rito Silva, Improving early detection of software merge conflicts international conference on software engineering. pp. 342- 352 ,(2012) , 10.5555/2337223.2337264
Florian Gross, Gordon Fraser, Andreas Zeller, Search-based system testing: high coverage, no false alarms Proceedings of the 2012 International Symposium on Software Testing and Analysis - ISSTA 2012. pp. 67- 77 ,(2012) , 10.1145/2338965.2336762
Nimrod Partush, Eran Yahav, Abstract semantic differencing via speculative correlation conference on object-oriented programming systems, languages, and applications. ,vol. 49, pp. 811- 828 ,(2014) , 10.1145/2660193.2660245