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

Abstract: 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.
Grants:GRF 111410, GRF 717811
Related Papers:-

Selected Tags

Tag Groups


ACM SigSoft
IEEE Software Engineering Online