Symbolic execution is an important technique for software analysis, which enables systematic model exploration by following all possible execution paths for a given program. For multithreaded shared variable programs, this technique leads to a state space explosion. Partial order reduction is a technique which allows equivalent execution paths to be recognized, reducing the state space explosion problem. This paper provides formal justifications for these techniques in a multithreaded setting by proving the correctness and completeness of symbolic execution for multithreaded shared variable programs, with and without the use of partial order reduction. We then show how these formal justifications carry over to prove the soundness and relati...
We describe an algorithm to perform symbolic execution of a multithreaded program starting from an a...
Partial order reductions are a class of methods that attempt to reduce the state space that must be...
We propose a new algorithm for verifying concurrent programs, which uses concrete executions to part...
Symbolic execution is an important technique for software analysis, which enables systematic model e...
Partial Order Reduction (POR) and Symbolic Execution (SE) are two fundamental abstraction techniques...
This dissertation makes two high-level contributions: First, we propose an algorithm to perform symb...
Partial evaluation is a program specialization technique that allows to optimize programs for which ...
We present a new approach to partial-order reduction for model checking software. This approach is b...
Associated research group: Critical Systems Research GroupSymbolic execution is a program analysis t...
Thesis (Ph.D.)--University of Washington, 2014This dissertation makes two high-level contributions: ...
The verification of concurrent systems through an exhaustive traversal of the state space suffers fr...
Abstract. Partial order (PO) reduction methods are widely employed to combat state explosion during ...
Due to software complexity, manual and automatic testing are not enough to guarantee the correct beh...
Symbolic execution is a software analysis technique that has been used with success in the past year...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
We describe an algorithm to perform symbolic execution of a multithreaded program starting from an a...
Partial order reductions are a class of methods that attempt to reduce the state space that must be...
We propose a new algorithm for verifying concurrent programs, which uses concrete executions to part...
Symbolic execution is an important technique for software analysis, which enables systematic model e...
Partial Order Reduction (POR) and Symbolic Execution (SE) are two fundamental abstraction techniques...
This dissertation makes two high-level contributions: First, we propose an algorithm to perform symb...
Partial evaluation is a program specialization technique that allows to optimize programs for which ...
We present a new approach to partial-order reduction for model checking software. This approach is b...
Associated research group: Critical Systems Research GroupSymbolic execution is a program analysis t...
Thesis (Ph.D.)--University of Washington, 2014This dissertation makes two high-level contributions: ...
The verification of concurrent systems through an exhaustive traversal of the state space suffers fr...
Abstract. Partial order (PO) reduction methods are widely employed to combat state explosion during ...
Due to software complexity, manual and automatic testing are not enough to guarantee the correct beh...
Symbolic execution is a software analysis technique that has been used with success in the past year...
Concurrent systems are ubiquitous, ranging from multi-core processors to large-scale distributed sys...
We describe an algorithm to perform symbolic execution of a multithreaded program starting from an a...
Partial order reductions are a class of methods that attempt to reduce the state space that must be...
We propose a new algorithm for verifying concurrent programs, which uses concrete executions to part...