kirancodes.me
To Proof Maintenance & Beyond!

GAMBIT: effective unit testing for concurrency libraries

Katherine E. Coons, Sebastian Burckhardt, Madanlal Musuvathi

Abstract

As concurrent programming becomes prevalent, software providers are investing in concurrency libraries to improve programmer productivity. Concurrency libraries improve productivity by hiding error-prone, low-level synchronization from programmers and providing higher-level concurrent abstractions. Testing such libraries is difficult, however, because concurrency failures often manifest only under particular scheduling circumstances. Current best testing practices are often inadequate: heuristic-guided fuzzing is not systematic, systematic schedule enumeration does not find bugs quickly, and stress testing is neither systematic nor fast.

Related papers