Efficient Detection of Test Interference in C Projects (Artifact)
This is the artifact accompanying our paper on test interference detection for C projects. Test interference detection commonly requires the execution of tests in different orders, i.e., test permutations. As there are many possible test orders to consider, it is usually impracticable to test all of them. Our paper proposes four strategies to reduce the number of test orders by tracking which system resources are actually accessed by which tests and then only run order permutations of tests that access shared resources. To account for concurrency issues as well, we also run tests in parallel with noise injection to provoke diverse CPU schedules. Our artifact provides an implementation of these approaches, the data we collected for the evaluation in our paper, and the scripts to reproduce the figures and one table in the paper. In addition, we provide the containers we used to run the 134 C projects in our study, which we hope to be useful for future research on software testing involving C projects.