We present an algorithm for automatic testing of distributed programs, such as Unix processes with inter-process communication and Web services. Specifically, we assume that a program consists of a number of asynchronously executing concurrent processes or actors which may take data inputs and communicate using asynchronous messages. Because of the large numbers of possible data inputs as well as the asynchrony in the execution and communication, distributed programs exhibit very large numbers of potential behaviors. Our goal is two fold: to execute all reachable statements of a program, and to detect deadlock states. Specifically, our algorithm uses simultaneous concrete and symbolic execution, or concolic execution, to explore all distinc...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
I present a general framework for observing and controlling a distributed computation and its applic...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
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...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Due to the non-deterministic behavior of some parallel and distributed programs, addressing the prob...
Abstract. In this work we present an abstraction-guided symbolic exe-cution technique that quickly d...
Abstract. This paper extends dynamic symbolic execution to distributed and concurrent systems. Dynam...
Abstract. Programming distributed and reactive asynchronous systems is complex due to the lack of sy...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
Mainstream programming is migrating to concurrent archi-tectures to improve performance and facilita...
. We present two tests for analyzing deadlock for a class of communicating sequential processes. The...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
I present a general framework for observing and controlling a distributed computation and its applic...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
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...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
Today's software systems often have poor reliability. In addition to losses of billions, software de...
Due to the non-deterministic behavior of some parallel and distributed programs, addressing the prob...
Abstract. In this work we present an abstraction-guided symbolic exe-cution technique that quickly d...
Abstract. This paper extends dynamic symbolic execution to distributed and concurrent systems. Dynam...
Abstract. Programming distributed and reactive asynchronous systems is complex due to the lack of sy...
<p>The challenge this thesis addresses is to speed up the development of concurrent programs by incr...
Mainstream programming is migrating to concurrent archi-tectures to improve performance and facilita...
. We present two tests for analyzing deadlock for a class of communicating sequential processes. The...
As multi-core processors and networked systems become the norm, concurrent programming has been wide...
Testing using manually generated test cases is the primary technique used in industry to improve rel...
I present a general framework for observing and controlling a distributed computation and its applic...