Happens-before relation is widely used to detect data races dynam-ically. However, it could easily hide many data races as it is inter-leaving sensitive. Existing techniques based on randomized sched-uling are ineffective on detecting these hidden races. In this paper, we propose DrFinder, an effective and precise dynamic technique to detect hidden races. Given an execution, DrFinder firstly ana-lyzes the lock acquisitions in it and collects a set of "may-trigger" relations. Each may-trigger relation consists of a method and a type of a Java object. It indicates that, during execution, the method may directly or indirectly acquire a lock of the type. In the subsequent executions of the same program, DrFinder actively schedules the...
Benefiting from the recent hardware improvement, multithreaded programs may still introduce concurre...
Multithreaded programs are notoriously prone to race conditions, a problem exacerbated by the widesp...
Data races often result in unexpected and erroneous behavior. In addition to causing data corruption...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Detection of data races in Java programs remains a difficult problem. The best static techniques pro...
Abstract. We present a new lockset-based algorithm, Goldilocks, for precisely computing the happens-...
This paper presents a static race-detection analysis for multithreaded shared-memory programs, focus...
Abstract We present a novel technique for static race detection in Java pro-grams, comprised of a se...
Abstract. We present a new lockset-based algorithm, Goldilocks, for precisely computing the happens-...
Debugging multi-threaded programs is notoriously hard. Probably the worst type of bug occurring in m...
We present a novel technique for static race detection in Java pro-grams, comprised of a series of s...
1. Data races are easy to cause and hard to debug. 2. We can't detect all data races. 3. Detect...
Finding concurrency bugs in complex software is difficult. As a contribution to coping with this pro...
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or inadequate s...
Benefiting from the recent hardware improvement, multithreaded programs may still introduce concurre...
Multithreaded programs are notoriously prone to race conditions, a problem exacerbated by the widesp...
Data races often result in unexpected and erroneous behavior. In addition to causing data corruption...
Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithr...
Bugs in multi-threaded programs often arise due to data races. Numerous static and dynamic program a...
Detection of data races in Java programs remains a difficult problem. The best static techniques pro...
Abstract. We present a new lockset-based algorithm, Goldilocks, for precisely computing the happens-...
This paper presents a static race-detection analysis for multithreaded shared-memory programs, focus...
Abstract We present a novel technique for static race detection in Java pro-grams, comprised of a se...
Abstract. We present a new lockset-based algorithm, Goldilocks, for precisely computing the happens-...
Debugging multi-threaded programs is notoriously hard. Probably the worst type of bug occurring in m...
We present a novel technique for static race detection in Java pro-grams, comprised of a series of s...
1. Data races are easy to cause and hard to debug. 2. We can't detect all data races. 3. Detect...
Finding concurrency bugs in complex software is difficult. As a contribution to coping with this pro...
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or inadequate s...
Benefiting from the recent hardware improvement, multithreaded programs may still introduce concurre...
Multithreaded programs are notoriously prone to race conditions, a problem exacerbated by the widesp...
Data races often result in unexpected and erroneous behavior. In addition to causing data corruption...