We propose a symbolic execution method for programs that can draw random samples. In contrast to existing work, our method can verify randomized programs with unknown inputs and can prove probabilistic properties that universally quantify over all possible inputs. Our technique augments standard symbolic execution with a new class of \emph{probabilistic symbolic variables}, which represent the results of random draws, and computes symbolic expressions representing the probability of taking individual paths. We implement our method on top of the \textsc{KLEE} symbolic execution engine alongside multiple optimizations and use it to prove properties about probabilities and expected values for a range of challenging case studies written in C++,...
Probabilistic programs [6] are sequential programs, written in languages like C, Java, Scala, or ML,...
Symbolic protocol verification generally abstracts probabilities away, considering computations that...
In a world in which we increasingly rely on safety critical systems that simultaneously are becoming...
Recently we have proposed symbolic execution techniques for the probabilistic analysis of programs. ...
Symbolic execution techniques have been proposed recently for the probabilistic analysis of programs...
Symbolic execution techniques have been proposed recently for the probabilistic analysis of programs...
Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under un...
Symbolic execution has been applied, among others, to check programs against contract specifications...
Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under un...
This paper provides a survey of recent work on adapting techniques for program analysis to compute p...
Probabilistic software analysis aims at quantifying the probability of a target event occurring duri...
Probabilistic symbolic execution aims at quantifying the probability of reaching program events of i...
We present a new symbolic execution semantics of probabilistic programs that include observe stateme...
Probabilistic Symbolic Execution (PSE) extends Symbolic Execution (SE), a path-sensitive static prog...
The security infrastructure underpinning our society relies on encryption, which relies on the corre...
Probabilistic programs [6] are sequential programs, written in languages like C, Java, Scala, or ML,...
Symbolic protocol verification generally abstracts probabilities away, considering computations that...
In a world in which we increasingly rely on safety critical systems that simultaneously are becoming...
Recently we have proposed symbolic execution techniques for the probabilistic analysis of programs. ...
Symbolic execution techniques have been proposed recently for the probabilistic analysis of programs...
Symbolic execution techniques have been proposed recently for the probabilistic analysis of programs...
Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under un...
Symbolic execution has been applied, among others, to check programs against contract specifications...
Probabilistic software analysis seeks to quantify the likelihood of reaching a target event under un...
This paper provides a survey of recent work on adapting techniques for program analysis to compute p...
Probabilistic software analysis aims at quantifying the probability of a target event occurring duri...
Probabilistic symbolic execution aims at quantifying the probability of reaching program events of i...
We present a new symbolic execution semantics of probabilistic programs that include observe stateme...
Probabilistic Symbolic Execution (PSE) extends Symbolic Execution (SE), a path-sensitive static prog...
The security infrastructure underpinning our society relies on encryption, which relies on the corre...
Probabilistic programs [6] are sequential programs, written in languages like C, Java, Scala, or ML,...
Symbolic protocol verification generally abstracts probabilities away, considering computations that...
In a world in which we increasingly rely on safety critical systems that simultaneously are becoming...