An extensive study of static regression test selection in modern software evolution

作者: Owolabi Legunsen , Farah Hariri , August Shi , Yafeng Lu , Lingming Zhang

DOI: 10.1145/2950290.2950361

关键词:

摘要: Regression test selection (RTS) aims to reduce regression testing time by only re-running the tests affected code changes. Prior research on RTS can be broadly split into dy namic and static techniques. A recently developed dynamic technique called Ekstazi is gaining some adoption in practice, its evaluation shows that selecting at a coarser, class-level granularity provides better results than finer, method-level granularity. As adoption, it timely also evaluate techniques, of which were proposed over three decades ago but not extensively evaluated modern software projects. This paper presents first extensive study evaluates performance benefits techniques their safety; safe if selects run all may We implemented two one method-level, compare several variants these against Ekstazi, state-of-the-art, class-level, technique. The experimental 985 revisions 22 open-source projects show comparable with similar benefits, risk being unsafe sometimes. In contrast, performs rather poorly.

参考文章(40)
Ophelia Chesley, Julian Dolby, Xiaoxia Ren, Barbara G. Ryder, Frank Tip, Fenil Shah, Chianti: A Prototype Change Impact Analysis Tool for Java ,(2003)
Robert S Arnold, None, Software Change Impact Analysis ,(1996)
Yasufumi Toyoshima, David Chenho Kung, Pei Hsia, Jerry Gao, Jeremy Lin, Class firewall, test order, and regression testing of object-oriented programs Journal of Object-oriented Programming. ,vol. 8, pp. 51- 65 ,(1995)
M. Skoglund, P. Runeson, A case study of the class firewall regression test selection technique on a large scale distributed software system international symposium on empirical software engineering. pp. 72- 81 ,(2005) , 10.1109/ISESE.2005.1541816
Mary Jean Harrold, James A. Jones, Tongyu Li, Donglin Liang, Ashish Gujarathi, Regression test selection for Java software conference on object-oriented programming systems, languages, and applications. ,vol. 36, pp. 312- 326 ,(2001) , 10.1145/504282.504305
Milos Gligoric, Lamyaa Eloussi, Darko Marinov, Practical regression test selection with dynamic file dependencies international symposium on software testing and analysis. pp. 211- 222 ,(2015) , 10.1145/2771783.2771784
Sebastian Elbaum, Gregg Rothermel, John Penix, Techniques for improving regression testing in continuous integration development environments foundations of software engineering. pp. 235- 245 ,(2014) , 10.1145/2635868.2635910
Moritz Beller, Georgios Gousios, Annibale Panichella, Andy Zaidman, When, how, and why developers (do not) test in their IDEs foundations of software engineering. pp. 179- 190 ,(2015) , 10.1145/2786805.2786843
Frank Tip, Jens Palsberg, Scalable propagation-based call graph construction algorithms conference on object-oriented programming systems, languages, and applications. ,vol. 35, pp. 281- 293 ,(2000) , 10.1145/353171.353190
Abhik Roychoudhury, Shin Hwei Tan, relifix: automated repair of software regressions international conference on software engineering. ,vol. 1, pp. 471- 482 ,(2015) , 10.5555/2818754.2818813