Learning-Based Controlled Concurrency Testing
summary
A reinforcement learning scheduler based on Q-learning is implemented inside P# to choose scheduling decisions and data non-determinism values; it optimizes coverage (not just crashes) and uses a Softmax policy with per-state Q-values and penalties. Empirical results show QL visits ~10,000 unique calculator states vs ~4,000 for PCT, finds bugs in all 16 tested applications, and achieves the highest Bugs-100 metric across microbenchmarks and Azure production services.
AI-written summary · about
chapters (9)
- 0:00Start
- 0:53High Level Architecture of Control Concurrency Testing
- 3:31Contributions
- 4:12Learning Based Control Concurrency Testing Architecture
- 4:45Comparison with Reinforcement Learning
- 6:18Coverage Optimization
- 8:29Ql Strategy
- 9:50Design Considerations
- 14:44Summary
related talks
08mUnlucky Simulation
30mControlled Scheduling of Concurrent Elixir Programs
34mLearning testing through gaming
36mStateful property-based testing: with a game logic case study
30mControlled Concurrency Testing for Scala
42mSurprise yourself with Property Based Testing
48mBeyond Bugs: How AI Turns QA into Full-Cycle Engineers
24mTLA+: Your Secret Weapon Against Concurrency Hell
