Issue No. 03 - May/June (2011 vol. 28)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2010.64
Thomas Ball , Microsoft Research
Sebastian Burckhardt , Microsoft Research
Peli de Halleux , Microsoft Research
Madan Musuvathi , Microsoft Research
Shaz Qadeer , Microsoft Research
Developing concurrent software is hard. Testing concurrent software is harder. Although sequential program testing has many useful concepts, techniques, and tools (for example, assertions, unit testing, test-driven development, code coverage, and test generation tools), the testing workbench for concurrent programs is comparatively quite bare. Chess is a new testing tool for concurrent multithreaded programs. It repeatedly executes a multithreaded program, while guaranteeing predictable and deterministic scheduling and progressively exploring more schedules to uncover errors quickly.
Chess, sequential program, concurrency, threads scheduling, testing, nondeterminism, software
S. Burckhardt, M. Musuvathi, S. Qadeer, P. de Halleux and T. Ball, "Predictable and Progressive Testing of Multithreaded Code," in IEEE Software, vol. 28, no. , pp. 75-83, 2010.