8 research outputs found
Automated Tail Bound Analysis for Probabilistic Recurrence Relations
Probabilistic recurrence relations (PRRs) are a standard formalism for
describing the runtime of a randomized algorithm. Given a PRR and a time limit
, we consider the classical concept of tail probability , i.e., the probability that the randomized runtime of the PRR
exceeds the time limit . Our focus is the formal analysis of tail
bounds that aims at finding a tight asymptotic upper bound in the time limit . To address this problem, the
classical and most well-known approach is the cookbook method by Karp (JACM
1994), while other approaches are mostly limited to deriving tail bounds of
specific PRRs via involved custom analysis.
In this work, we propose a novel approach for deriving
exponentially-decreasing tail bounds (a common type of tail bounds) for PRRs
whose preprocessing time and random passed sizes observe discrete or
(piecewise) uniform distribution and whose recursive call is either a single
procedure call or a divide-and-conquer. We first establish a theoretical
approach via Markov's inequality, and then instantiate the theoretical approach
with a template-based algorithmic approach via a refined treatment of
exponentiation. Experimental evaluation shows that our algorithmic approach is
capable of deriving tail bounds that are (i) asymptotically tighter than Karp's
method, (ii) match the best-known manually-derived asymptotic tail bound for
QuickSelect, and (iii) is only slightly worse (with a factor) than
the manually-proven optimal asymptotic tail bound for QuickSort. Moreover, our
algorithmic approach handles all examples (including realistic PRRs such as
QuickSort, QuickSelect, DiameterComputation, etc.) in less than 0.1 seconds,
showing that our approach is efficient in practice.Comment: 46 pages, 15 figure
A Programming Language for Data Privacy with Accuracy Estimations
Differential privacy offers a formal framework for reasoning about the privacy and accuracy of computations on private data. It also offers a rich set of building blocks for constructing private data analyses. When carefully calibrated, these analyses simultaneously guarantee the privacy of the individuals contributing their data, and the accuracy of the data analyses results, inferring useful properties about the population. The compositional nature of differential privacy has motivated the design and implementation of several programming languages aimed at helping a data analyst in programming differentially private analyses. However, most of the programming languages for differential privacy proposed so far provide support for reasoning about privacy but not for reasoning about the accuracy of data analyses. To overcome this limitation, in this work we present DPella, a programming framework providing data analysts with support for reasoning about privacy, accuracy, and trade-offs. The distinguishing feature of DPella is a novel component that statically tracks the accuracy of different data analyses. In order to make tighter accuracy estimations, this component leverages taint analysis for automatically inferring statistical independence of the different noise quantities added for guaranteeing privacy. We evaluate our approach by implementing several classical queries from the literature and showing how data analysts can figure out the best manner to calibrate privacy to meet the accuracy requirements
Symbolic Execution for Randomized Programs
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++, including
Freivalds' algorithm, randomized quicksort, and a randomized property-testing
algorithm for monotonicity. We evaluate our method against \textsc{Psi}, an
exact probabilistic symbolic inference engine, and \textsc{Storm}, a
probabilistic model checker, and show that our method significantly outperforms
both tools.Comment: 47 pages, 9 figures, to appear at OOPSLA 202
Computer Aided Verification
This open access two-volume set LNCS 13371 and 13372 constitutes the refereed proceedings of the 34rd International Conference on Computer Aided Verification, CAV 2022, which was held in Haifa, Israel, in August 2022. The 40 full papers presented together with 9 tool papers and 2 case studies were carefully reviewed and selected from 209 submissions. The papers were organized in the following topical sections: Part I: Invited papers; formal methods for probabilistic programs; formal methods for neural networks; software Verification and model checking; hyperproperties and security; formal methods for hardware, cyber-physical, and hybrid systems. Part II: Probabilistic techniques; automata and logic; deductive verification and decision procedures; machine learning; synthesis and concurrency. This is an open access book