Programming and Execution Models for Parallel Bounded Exhaustive Testing
summary
Tempo presents a concrete system for parallel bounded-exhaustive testing: a small API (explore, choice, ignore), OpenMP CPU and CUDA GPU backends, and three execution strategies—fork-based, re-execution-based, and a mixed strategy that reexecutes to measure needed threads then forks to explore. Evaluation on six hybrid TG programs shows Tempo outperforms sequential Udita and is comparable to KoratG; the CUDA/C++ case study finds four confirmed compiler bugs (two in nvcc, two in clang).
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:11Automated Software Testing
- 0:36Bounded Exhaustive Testing
- 2:36Tempo: Motivation
- 2:53Hybrid Style
- 4:37Tempo: High Level
- 5:05Tempo: API
- 5:46Tempo: Exploration Strategies
- 6:24Tempo: Fork Strategy
- 8:00Tempo: Reexe Strategy
- 9:07Tempo: MixedStrategy
- 10:27Evaluation
- 13:33Case Study: Compiler Testing
- 13:55Additional Details
- 14:30Conclusion
related talks
01h 02m“Parallelism in Modern C++"
56mParallelizing the C++ Standard Template Library
35mAutomatic Parallelism Management
01h 01mTaskflow: A Parallel and Heterogeneous Task Programming System Using Modern C++
15mFoundations of Empirical Memory Consistency Testing
43mHyper-Parallelism - The Panacea of Automated Testing?
25mAdvanced Testing Concepts
43mInfinite Improbability Testing- Execute All Tests in Parallel
