Testing using manually generated test cases is the primary technique used in industry to improve reliability of software---in fact, such ad hoc testing accounts for over half of the typical cost of software development. We propose new methods for systematically and automatically testing sequential and concurrent programs. The methods are based on three new techniques: concolic testing, race-detection and flipping, and predictive monitoring. Concolic testing combines concrete and symbolic testing to avoid redundant test cases as well as false warnings. Concolic testing can catch generic errors such as assertion violations, uncaught exceptions, and segmentation faults. Large real-world programs are almost always concurrent. Because of the ...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or inadequate s...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Testing concurrent programs that accept data inputs is no-toriously hard because, besides the large ...
Testing concurrent programs that accept data inputs is notoriously hard because, beside the large nu...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
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...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or inadequate s...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Testing concurrent programs that accept data inputs is no-toriously hard because, besides the large ...
Testing concurrent programs that accept data inputs is notoriously hard because, beside the large nu...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
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...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or inadequate s...
With the development of multi-core processors, concurrent programs are becoming more and more popula...