Flaky and True Failures Logs to Accompany "230,439 Test Failures Later: An Empirical Evaluation of Flaky Failure Classifiers"
Creators
Description
Flaky tests are tests that can non-deterministically pass or fail, even in the absence of code changes. Despite being a source of false alarms, flaky tests often remain in test suites once they are detected, as they also may be relied upon to detect true failures. Hence, a key open problem in flaky test research is: How to quickly determine if a test failed due to flakiness, or if it detected a bug? The state-of-the-practice is for developers to re-run failing tests: if a test fails and then passes, it is flaky by definition; if the test persistently fails, it is likely a true failure. However, this approach can be both ineffective and inefficient. An alternate approach that developers may already use for triaging test failures is failure de-duplication, which matches newly discovered test failures to previously witnessed flaky and true failures. However, because flaky test failure symptoms might resemble those of true failures, there is a risk of missclassifying a true test failure as a flaky failure to be ignored. Using a dataset of 498 flaky tests from 22 open-source Java projects, we collect a large dataset of 230,439 failure messages (both flaky and not), allowing us to empirically investigate the efficacy of failure de-duplication. We find that for some projects, this approach is extremely effective (with 100\% specificity), while for other projects, the approach is entirely ineffective. By analyzing the characteristics of these flaky and non-flaky failures, we provide useful guidance on how developers should rely on this approach.
Other
This dataset contains both flaky failure logs (gathered from the FlakeFlagger dataset) and true failure logs (collected through mutation analysis). The dataset consists of the following content:
project_name.tgz:
- The project folder includes subfolders, each representing a flaky test.
- Each subfolder, named after a test, contains the following files:
- pit-report.xml: Result of running a test on mutations. If the file name contains 5X, it indicates the report's result from 5 runs (reported once). If it contains 1X, it reports the result of a single run against all mutants. Total runs per test are 20X.
- test_name.xml: Contains sets of all flaky and true failures of a particular test.
- summary-of-test_name.xml: A simplified version of the test_name.xml file used as the final shape to be used in our paper (See our repo below for more details).
FlakeFlagger-testCode-CUT-reports.tgz:
- List of Code-Under-Test files names and test code files names used to collect classifier features (refer to Table 1 in the paper).
pit-indexes-per-test.tgz:
- JSON file with test names as keys and mutation indexes in pit reports indicating killed, survived, or flaky mutants. This file can be reproduced using the scripts available in our GitHub repo.
All scripts for replicating the experiment or analyzing the dataset can be accessed in our GitHub repo (https://github.com/AlshammariA/FailureLogClassifiers)
Files
Files
(1.6 GB)
Name | Size | Download all |
---|---|---|
md5:b34dfc19cee359f8e34506a9605fcbb6
|
625.2 MB | Download |
md5:b6007a1b8aa0da7079622c622f4718d1
|
245.0 MB | Download |
md5:c5cf92b63306688c4931e25014c106fd
|
92.1 MB | Download |
md5:4e604a7c7672f0344091e7813b0e541f
|
106.5 kB | Download |
md5:b9c7af9616ccc93803e2e9704572a820
|
235.2 MB | Download |
md5:4cec9292cc7256cacbc89d95ab2cd312
|
25.1 MB | Download |
md5:a3d553c0898b19cfdb4e3a1a69b2eacb
|
2.7 MB | Download |
md5:4b105d4c415972fb5b6363ebe96be652
|
4.9 MB | Download |
md5:a093410dbd9edb6d76be35d347bdf3bb
|
157.7 kB | Download |
md5:128818252e19f2707f3650fb33dad75f
|
19.6 MB | Download |
md5:d590f95239a621afca17bfaaabcb813d
|
661.6 kB | Download |
md5:64caf04dcdd53fdcce6ee3b77032184b
|
496.6 kB | Download |
md5:c1fb7b9172eae90e1bf0a9145445d3a4
|
3.0 MB | Download |
md5:0cefac46650da35a3043c726006845e0
|
1.4 MB | Download |
md5:7d4dedfca5376527ebf9ee45b22b5661
|
9.2 MB | Download |
md5:930bc14e74a630e235a4a53ac23730d2
|
646.7 kB | Download |
md5:bb5ea3d9c2b2986f125f03486ce203f8
|
25.0 MB | Download |
md5:5acf44ad4b31d61c306198a15c8cef40
|
25.6 MB | Download |
md5:d47fa4a690ff8ba2d22b30ad651a2bfc
|
161.4 MB | Download |
md5:d6196beea85ee0a24d4a6bd612f00775
|
16.3 MB | Download |
md5:d8106e69728a9cdd6d9a74ad75958608
|
14.6 MB | Download |
md5:b669b32b5b79a3f99a9e3c6aea56e7e4
|
113.6 MB | Download |
md5:8020134acfeef711bd89d22d60a862eb
|
15.6 MB | Download |
md5:2cfa83e8cd00be0000a0cf0bdb6dd92b
|
3.0 MB | Download |