A survey of flaky tests

O Parry, GM Kapfhammer, M Hilton… - ACM Transactions on …, 2021 - dl.acm.org
Tests that fail inconsistently, without changes to the code under test, are described as flaky.
Flaky tests do not give a clear indication of the presence of software bugs and thus limit the …

Predictive models in software engineering: Challenges and opportunities

Y Yang, X Xia, D Lo, T Bi, J Grundy… - ACM Transactions on …, 2022 - dl.acm.org
Predictive models are one of the most important techniques that are widely applied in many
areas of software engineering. There have been a large number of primary studies that …

Root causing, detecting, and fixing flaky tests: State of the art and future roadmap

B Zolfaghari, RM Parizi, G Srivastava… - Software: Practice …, 2021 - Wiley Online Library
A flaky test is a test that may lead to different results in different runs on a single code under
test without any change in the test code. Test flakiness is a noxious phenomenon that slows …

What it would take to use mutation testing in industry—a study at facebook

M Beller, CP Wong, J Bader, A Scott… - 2021 IEEE/ACM …, 2021 - ieeexplore.ieee.org
Traditionally, mutation testing generates an abundance of small deviations of a program,
called mutants. At industrial systems the scale and size of Facebook's, doing this is …

Empirically evaluating readily available information for regression test optimization in continuous integration

D Elsner, F Hauer, A Pretschner, S Reimer - Proceedings of the 30th acm …, 2021 - dl.acm.org
Regression test selection (RTS) and prioritization (RTP) techniques aim to reduce testing
efforts and developer feedback time after a change to the code base. Using various …

A study of real-world data races in Golang

M Chabbi, MK Ramanathan - Proceedings of the 43rd ACM SIGPLAN …, 2022 - dl.acm.org
The concurrent programming literature is rich with tools and techniques for data race
detection. Less, however, has been known about real-world, industry-scale deployment …

Deeporder: Deep learning for test case prioritization in continuous integration testing

A Sharif, D Marijan, M Liaaen - 2021 IEEE International …, 2021 - ieeexplore.ieee.org
Continuous integration testing is an important step in the modern software engineering life
cycle. Test prioritization is a method that can improve the efficiency of continuous integration …

Scalable and accurate test case prioritization in continuous integration contexts

AS Yaraghi, M Bagherzadeh, N Kahani… - IEEE Transactions on …, 2022 - ieeexplore.ieee.org
Continuous Integration (CI) requires efficient regression testing to ensure software quality
without significantly delaying its CI builds. This warrants the need for techniques to reduce …

Which builds are really safe to skip? Maximizing failure observation for build selection in continuous integration

X Jin, F Servant - Journal of Systems and Software, 2022 - Elsevier
Continuous integration (CI) is a widely used practice in modern software engineering.
Unfortunately, it is also an expensive practice. Google and Mozilla estimate their expenses …

How can manual testing processes be optimized? developer survey, optimization guidelines, and case studies

R Haas, D Elsner, E Juergens, A Pretschner… - Proceedings of the 29th …, 2021 - dl.acm.org
Manual software testing is tedious and costly as it involves significant human effort. Yet, it is
still widely applied in industry and will be in the foreseeable future. Although there is …