Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of 2019
DOI: 10.1145/3338906.3338925
|View full text |Cite
|
Sign up to set email alerts
|

iFixFlakies: a framework for automatically fixing order-dependent flaky tests

Abstract: Regression testing provides important pass or fail signals that developers use to make decisions after code changes. However, flaky tests, which pass or fail even when the code has not changed, can mislead developers. A common kind of flaky tests are order-dependent tests, which pass or fail depending on the order in which the tests are run. Fixing order-dependent tests is often tedious and time-consuming. We propose iFixFlakies, a framework for automatically fixing order-dependent tests. The key insight in iF… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
39
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 84 publications
(46 citation statements)
references
References 42 publications
1
39
0
Order By: Relevance
“…Note that test orders may contain more tests besides polluters and cleaners for a victim v, but these other tests do not modify the relevant state and do not affect whether v passes or not in any order. Precise definitions for these tests are in our previous work [37]. Figure 1 shows a snippet of a victim test, testMRAppMasterSuccessLock (in short testV), from the widely used Hadoop project [1].…”
Section: Background and Examplementioning
confidence: 99%
See 2 more Smart Citations
“…Note that test orders may contain more tests besides polluters and cleaners for a victim v, but these other tests do not modify the relevant state and do not affect whether v passes or not in any order. Precise definitions for these tests are in our previous work [37]. Figure 1 shows a snippet of a victim test, testMRAppMasterSuccessLock (in short testV), from the widely used Hadoop project [1].…”
Section: Background and Examplementioning
confidence: 99%
“…Specifically, we first determine whether an OD test t is a victim or a brittle by running the test in isolation, i.e., just t , by itself 10 times: if t always passes, it is considered a victim (although it may be an ND test); if t always fails, it is considered a brittle (although it may be an ND test); and if t sometimes passes and sometimes fails, it is definitely an ND, not OD, test. This approach was proposed for iFixFlakies [37], and using 10 runs is a common industry practice to check whether a test is flaky [31,40].…”
Section: Determining Test Outcome Without Running a Test Ordermentioning
confidence: 99%
See 1 more Smart Citation
“…The efficiency goal is a trade-off against the correctness goal. [61] refers to test as a state-setter and test in a positive dependency as a brittle. It also refers to test as a polluter and in a negative dependency as a victim.…”
Section: Dependent-test-aware Regression Testing Techniquesmentioning
confidence: 99%
“…Our work aims at different regression testing techniques and can be used in conjunction with Nemo. iFixFlakies [61] is a tool for automatically fixing OD tests. iFixFlakies relies on finding code from "helpers", which are tests in the existing test suite that prevent OD-test failures when run before an OD test, to fix the OD tests.…”
Section: Techniques For Managing Flaky Testsmentioning
confidence: 99%