“…However, dynamic test dependencies for large projects may be time-consuming to collect, and for real-time systems, dynamic selection techniques may not be applicable, because code instrumentation for obtaining dependencies may cause timeouts or interrupt normal test run [5], [15]. Besides, for programs with nondeterminism (e.g., due to randomness or concurrency), dependencies collected dynamically may not cover all possible traces, leading to omission of necessary tests [5], [6]. Static selection technique does not require to execute tests; it uses static program analysis to infer the dependencies between changed code, affected code and test code [4], [5], [13], [18], [19].…”