Concurrency bugs are as equally vulnerable as the bugs found in the single-threaded programs and these bugs can be exploited using concurrency attacks. Unfortunately, there is not much literature available in detecting various kinds of concurrency issues in a multi-threaded program due to its complexity and uncertainty. In this paper, we aim at detecting concurrency bugs by using directed evolutionary fuzzing with the help of static analysis of the source code. Concurrency bug detection involves two main entities: an input and a particular thread execution order. The evolutionary part of fuzzing will prefer inputs that involve memory access patterns across threads (data flow interleaving) and thread ordering that disturb the data dependence...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Concurrency vulnerabilities are an irresistible threat to security, and detecting them is challengin...
Concurrency bug detection is important to guarantee the correct behavior of multithread programs. Ho...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
This thesis presents a catalog of concurrency-related bug patterns. In contrast to design patterns, ...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Bug patterns are coding idioms that may make the code less maintainable or turn into bugs in future....
Multicore and Internet cloud systems have been widely adopted in recent years and have resulted in t...
Fuzz testing is a random testing technique that is effective at finding bugs in large software progr...
Concurrency bugs are notoriously difficult to detect because there can be vast combinations of inter...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Concurrency vulnerabilities are an irresistible threat to security, and detecting them is challengin...
Concurrency bug detection is important to guarantee the correct behavior of multithread programs. Ho...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
This thesis presents a catalog of concurrency-related bug patterns. In contrast to design patterns, ...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Bug patterns are coding idioms that may make the code less maintainable or turn into bugs in future....
Multicore and Internet cloud systems have been widely adopted in recent years and have resulted in t...
Fuzz testing is a random testing technique that is effective at finding bugs in large software progr...
Concurrency bugs are notoriously difficult to detect because there can be vast combinations of inter...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...