With the increasing dependency on software systems, we require them to be reliable and correct. Software testing is the predominant approach in industry for finding software errors. There has been a great advance in testing sequential programs throughout the past decades. Several techniques have been introduced with the aim of automatically generating input values such that the executions of the program with those inputs provide meaningful coverage guarantees for the program. Today, multi-threaded (concurrent) programs are becoming pervasive in the era of multiprocessor systems. The behaviour of a concurrent program depends not only on the input values but also on the way the executions of threads are interleaved. Testing concurrent pro...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
The effectiveness of software testing is often assessed by mea-suring coverage of some aspect of the...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
While multi-threading has become commonplace in many application domains (e.g., embedded systems, di...
[[abstract]]Software testing and metrics are two important approaches to assure the reliability and ...
The design of concurrent programs is error-prone due to the interaction between concurrently executi...
[[abstract]]Software testing is an important approach to assure the reliability and quality of softw...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
[[abstract]]Verification and validation are two important technologies to assure the reliability and...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
The effectiveness of software testing is often assessed by mea-suring coverage of some aspect of the...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
While multi-threading has become commonplace in many application domains (e.g., embedded systems, di...
[[abstract]]Software testing and metrics are two important approaches to assure the reliability and ...
The design of concurrent programs is error-prone due to the interaction between concurrently executi...
[[abstract]]Software testing is an important approach to assure the reliability and quality of softw...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
[[abstract]]Verification and validation are two important technologies to assure the reliability and...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
The effectiveness of software testing is often assessed by mea-suring coverage of some aspect of the...
Concurrency bugs are problems due to incorrect interleaving of parallel tasks. They are often caused...