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 …

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 …

State of practical applicability of regression testing research: A live systematic literature review

R Greca, B Miranda, A Bertolino - ACM Computing Surveys, 2023 - dl.acm.org
Context: Software regression testing refers to rerunning test cases after the system under
test is modified, ascertaining that the changes have not (re-) introduced failures. Not all …

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 …

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 …

Empirically evaluating flaky test detection techniques combining test case rerunning and machine learning models

O Parry, GM Kapfhammer, M Hilton… - Empirical Software …, 2023 - Springer
A flaky test is a test case whose outcome changes without modification to the code of the test
case or the program under test. These tests disrupt continuous integration, cause a loss of …

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 …

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

D Elsner, F Hauer, A Pretschner, S Reimer - Proceedings of the 30th …, 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 …

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 …

HybridCISave: A Combined Build and Test Selection Approach in Continuous Integration

X Jin, F Servant - ACM Transactions on Software Engineering and …, 2023 - dl.acm.org
Continuous Integration (CI) is a popular practice in modern software engineering.
Unfortunately, it is also a high-cost practice—Google and Mozilla estimate their CI systems …