Abstract. Non-determinism of the thread schedule is a well-known problem in concurrent programming. However, other sources of non-determinism exist which cannot be controlled by an application, such as network availability. Testing a program with its communication resources being unavailable is difficult, as it requires a change on the host system, which has to be coordinated with the test suite. Essentially, each interaction of the application with the environment can result in a failure. Only some of these failures can be tested. Our work identifies such potential failures and develops a strategy for testing all relevant outcomes of such actions. Our tool, Enforcer, combines the structure of unit tests, coverage information, and fault inj...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Abstract—As computers become more and more powerful, programs are increasingly split up into multipl...
Abstract. Testing application behavior in the presence of I/O failures is extremely difficult. The r...
1 Introduction Testing is a scalable, economic, and effective way to uncover faults in software [19,...
Abstract. The choice of where a thread scheduling algorithm preempts one thread in order to execute ...
In a network consisting of several thousands computers, the occurrence of faults is unavoid- able. B...
International audienceIn a network consisting of several thousands computers, the occurrence of faul...
Abstract. Concurrent programs often exhibit bugs due to unintended interfer-ences among the concurre...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
We present a case study on fault injection testing at the interface level between components of a di...
Software is being used for building applications requiring extreme dependability. In many cases, sys...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Abstract—As computers become more and more powerful, programs are increasingly split up into multipl...
Abstract. Testing application behavior in the presence of I/O failures is extremely difficult. The r...
1 Introduction Testing is a scalable, economic, and effective way to uncover faults in software [19,...
Abstract. The choice of where a thread scheduling algorithm preempts one thread in order to execute ...
In a network consisting of several thousands computers, the occurrence of faults is unavoid- able. B...
International audienceIn a network consisting of several thousands computers, the occurrence of faul...
Abstract. Concurrent programs often exhibit bugs due to unintended interfer-ences among the concurre...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
We present a case study on fault injection testing at the interface level between components of a di...
Software is being used for building applications requiring extreme dependability. In many cases, sys...
With the increasing dependency on software systems, we require them to be reliable and correct. Sof...
A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives ...
Abstract—As computers become more and more powerful, programs are increasingly split up into multipl...