Proceedings of the 2012 International Symposium on Software Testing and Analysis
(ISSTA '12), ACM, New York, NY, pp. 221-231 (2012)

CARISMA: a Context-sensitive Approach to Race-condition
sample-Instance Selection for Multithreaded Applications

Ke Zhai 2 , Boni Xu 2 , W.K. Chan 3 , and T.H. Tse 2

[author-izer free download from ACM digital library]


Dynamic race detectors can explore multiple thread schedules of a multithreaded program over the same input to detect data races. Although existing sampling-based precise race detectors reduce overheads effectively so that lightweight precise race detection can be performed in testing or post-deployment environments, they are ineffective in detecting races if the sampling rates are low. This paper presents CARISMA to address this problem. CARISMA exploits the insight that along an execution trace, a program may potentially handle many accesses to the memory locations created at the same site for similar purposes. Iterating over multiple execution trials of the same input, CARISMA estimates and distributes the sampling budgets among such location creation sites, and probabilistically collects a fraction of all accesses to the memory locations associated with such sites for subsequent race detection. Our experiment shows that, compared with PACER on the same platform and at the same sampling rate (such as 1%), CARISMA is significantly more effective.

Keywords: Concurrency, Data Races, Sampling, Bug Detection

1. This work is supported in part by the General Research Fund of the Research Grants Council of Hong Kong (project numbers 111410 and 717811).
2. Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong.
3. (Corresponding author.)
Department of Computer Science, City University of Hong Kong, Tat Chee Avenue, Hong Kong.


  Cumulative visitor count