PSharp
PSharp copied to clipboard
Production in Test
We should think about the topic of doing testing of P# programs running with the production runtime. We cannot hope to be systematic or provide reproducible traces, but we can still try to shake the system to find bugs faster in the real production system.
An instance of this is the support for monitors in the production runtime that we already provide. I would also like to do this: provide a simple sleep-injection strategy (where P# APIs would randomly call Thread.Sleep) to provide more effective testing in production. Perhaps we can even do a Cuzz-like approach by controlling the TPL thread pool or task scheduler, but I am unsure about this right now.