Randomized Active Testing for Concurrent Programs Seminars/Workshops
|Place:||Room 308, Bldg 302, SNU|
In the multi-core era, writing concurrent programs have become much more relevant even outside of the high performance and scientific computing communities. Writing correct concurrent programs is hard because it must be correct not only for all inputs, but also for all possible schedules. Existing verification techniques such as model checking is known not to scale, since the number of schedules grow exponentially in the length of execution. I will be talking about our approach to this problem, called active testing, which tests for possibly buggy schedules by actively controlling the scheduler at runtime. So far, the scheduler has been biased to test for schedules exhibiting data races, atomicity violations, and deadlocks. We have uncovered numerous bugs in various programs and libraries with this approach. If time permits, I will also be talking about future extensions of this work which allows the programmer to specify the schedules he wishes to test.
[ List ]