Litcius/Paper detail

Repairing order-dependent flaky tests via test generation

Cheng‐Peng Li, Chenguang Zhu, Wenxi Wang, August Shi

2022Proceedings of the 44th International Conference on Software Engineering22 citationsDOI

Abstract

Flaky tests are tests that pass or fail nondeterministically on the same version of code. These tests can mislead developers concerning the quality of their code changes during regression testing. A common kind of flaky tests are order-dependent tests, whose pass/fail outcomes depend on the test order in which they are run. Such tests have different outcomes because other tests running before them pollute shared state. Prior work has proposed repairing order-dependent tests by searching for existing tests, known as "cleaners", that reset the shared state, allowing the order-dependent test to pass when run after a polluted shared state. The code within a cleaner represents a patch to repair the order-dependent test. However, this technique requires cleaners to already exist in the test suite.

Topics & Concepts

Test suiteComputer scienceReset (finance)Test (biology)Code coverageOrder (exchange)Code (set theory)Reliability engineeringRegression testingState (computer science)Work (physics)Test caseEngineeringSoftwareAlgorithmProgramming languageRegression analysisMechanical engineeringSet (abstract data type)FinanceSoftware systemSoftware constructionFinancial economicsMachine learningPaleontologyEconomicsBiologySoftware Testing and Debugging TechniquesSoftware Reliability and Analysis ResearchSoftware Engineering Research
Repairing order-dependent flaky tests via test generation | Litcius