This thesis is about scalable analysis and testing techniques for asynchronous programs. Due to their highly-concurrent nature, the number of states that such programs can reach grows exponentially (in the worst case) with program size, leading to state-space explosion. For this reason, searching the state-space of real-world asynchronous programs to find bugs is computationally expensive, and thus it is important to develop analysis and testing techniques that can scale well. However, techniques typically scale by sacrificing precision. Detecting only true bugs - versus reporting a large number of false alarms - is crucial to increasing the productivity of developers. Alas, finding the fine balance between precision and scalability is a ch...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
Testing distributed systems is challenging due to multiple sources of nondeterminism. Conventional t...
Multicore machines have become pervasive and, as a result, parallel programming has received renewed...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Developing correct and efficient software for large scale systems is a challenging task. Developers ...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
The Scalable Analysis Toolkit (SAT) project aimed to demonstrate that it is feasible and useful to s...
In this paper we present a precise data race detection tech-nique for distributed memory parallel pr...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
Testing distributed systems is challenging due to multiple sources of nondeterminism. Conventional t...
Multicore machines have become pervasive and, as a result, parallel programming has received renewed...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Developing correct and efficient software for large scale systems is a challenging task. Developers ...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
The Scalable Analysis Toolkit (SAT) project aimed to demonstrate that it is feasible and useful to s...
In this paper we present a precise data race detection tech-nique for distributed memory parallel pr...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
Modern computer software systems are prone to various classes of runtime faults due to their relianc...
Testing distributed systems is challenging due to multiple sources of nondeterminism. Conventional t...
Multicore machines have become pervasive and, as a result, parallel programming has received renewed...