Low level data-races in multi-threaded software are hard to detect, especially when requiring exhaustiveness, speed and precision. In this work, we combine ideas from run-time verification, static analysis and model checking to balance the above requirements. In particular, we adopt a well-known dynamic race detection algorithm based on calculating lock sets to static program analysis for achieving exhaustiveness. The resulting data race candidates are in a further step investigated by model checking with respect to a formal threading model to achieve precision. Moreover, we demonstrate the effectiveness of the combined approach by a case study on the open-source TFTP server OpenTFTP, which shows the trade-off between speed and precision in...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Multithreading is a powerful model of parallel and concurrent programming. However, the presence of ...
Multi-threading is a methodology that has been extremely used. Modern software depends essentially o...
Abstract. Low level data-races in multi-threaded software are hard to detect, especially when requir...
Most of the state-of-the-art verification tools do not scale well on complicated software. Our goal ...
Detecting data races in modern code executing on multicore processors is challenging. Instrumentatio...
Abstract. We present new techniques for fast, accurate and scalable static race detection in concurr...
pre-printNeither static nor dynamic data race detection methods, by themselves, have proven to be su...
Concurrent programs are pervasive owing to the increasing adoption of multi-core systems across the ...
Multithreaded programming is increasingly relevant due to the growing prevalence of multi-core proce...
Benefiting from the recent hardware improvement, multithreaded programs may still introduce concurre...
Perpetual availability is an important operational goal in today’s computer systems. How-ever, achie...
1. Data races are easy to cause and hard to debug. 2. We can't detect all data races. 3. Detect...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Multithreaded programming is difficult and error prone. It is easy to make a mistake in synchronizat...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Multithreading is a powerful model of parallel and concurrent programming. However, the presence of ...
Multi-threading is a methodology that has been extremely used. Modern software depends essentially o...
Abstract. Low level data-races in multi-threaded software are hard to detect, especially when requir...
Most of the state-of-the-art verification tools do not scale well on complicated software. Our goal ...
Detecting data races in modern code executing on multicore processors is challenging. Instrumentatio...
Abstract. We present new techniques for fast, accurate and scalable static race detection in concurr...
pre-printNeither static nor dynamic data race detection methods, by themselves, have proven to be su...
Concurrent programs are pervasive owing to the increasing adoption of multi-core systems across the ...
Multithreaded programming is increasingly relevant due to the growing prevalence of multi-core proce...
Benefiting from the recent hardware improvement, multithreaded programs may still introduce concurre...
Perpetual availability is an important operational goal in today’s computer systems. How-ever, achie...
1. Data races are easy to cause and hard to debug. 2. We can't detect all data races. 3. Detect...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Multithreaded programming is difficult and error prone. It is easy to make a mistake in synchronizat...
Perpetual availability is an important operational goal in today\u27s computer systems. However, ach...
Multithreading is a powerful model of parallel and concurrent programming. However, the presence of ...
Multi-threading is a methodology that has been extremely used. Modern software depends essentially o...