Preemption sealing for efficient concurrency testing

19Citations
Citations of this article
21Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

The choice of where a thread scheduling algorithm preempts one thread in order to execute another is essential to reveal concurrency errors such as atomicity violations, livelocks, and deadlocks. We present a scheduling strategy called preemption sealing that controls where and when a scheduler is disabled from preempting threads during program execution. We demonstrate that this strategy is effective in addressing two key problems in testing industrial-scale concurrent programs: (1) tolerating existing errors in order to find more errors, and (2) compositional testing of layered, concurrent systems. We evaluate the effectiveness of preemption sealing, implemented in the Chess tool, for these two scenarios on newly released concurrency libraries for Microsoft's .NET framework. © 2010 Springer-Verlag.

Cite

CITATION STYLE

APA

Ball, T., Burckhardt, S., Coons, K. E., Musuvathi, M., & Qadeer, S. (2010). Preemption sealing for efficient concurrency testing. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6015 LNCS, pp. 420–434). https://doi.org/10.1007/978-3-642-12002-2_35

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free