1,251 research outputs found
Bounded Expectations: Resource Analysis for Probabilistic Programs
This paper presents a new static analysis for deriving upper bounds on the
expected resource consumption of probabilistic programs. The analysis is fully
automatic and derives symbolic bounds that are multivariate polynomials of the
inputs. The new technique combines manual state-of-the-art reasoning techniques
for probabilistic programs with an effective method for automatic
resource-bound analysis of deterministic programs. It can be seen as both, an
extension of automatic amortized resource analysis (AARA) to probabilistic
programs and an automation of manual reasoning for probabilistic programs that
is based on weakest preconditions. As a result, bound inference can be reduced
to off-the-shelf LP solving in many cases and automatically-derived bounds can
be interactively extended with standard program logics if the automation fails.
Building on existing work, the soundness of the analysis is proved with respect
to an operational semantics that is based on Markov decision processes. The
effectiveness of the technique is demonstrated with a prototype implementation
that is used to automatically analyze 39 challenging probabilistic programs and
randomized algorithms. Experimental results indicate that the derived constant
factors in the bounds are very precise and even optimal for many programs
Typable Fragments of Polynomial Automatic Amortized Resource Analysis
Being a fully automated technique for resource analysis, automatic amortized resource analysis (AARA) can fail in returning worst-case cost bounds of programs, fundamentally due to the undecidability of resource analysis. For programmers who are unfamiliar with the technical details of AARA, it is difficult to predict whether a program can be successfully analyzed in AARA. Motivated by this problem, this article identifies classes of programs that can be analyzed in type-based polynomial AARA. Firstly, it is shown that the set of functions that are typable in univariate polynomial AARA coincides with the complexity class PTime. Secondly, the article presents a sufficient condition for typability that axiomatically requires every sub-expression of a given program to be polynomial-time. It is proved that this condition implies typability in multivariate polynomial AARA under some syntactic restrictions
Automatic Amortized Resource Analysis with Regular Recursive Types
The goal of automatic resource bound analysis is to statically infer symbolic
bounds on the resource consumption of the evaluation of a program. A
longstanding challenge for automatic resource analysis is the inference of
bounds that are functions of complex custom data structures. This article
builds on type-based automatic amortized resource analysis (AARA) to address
this challenge. AARA is based on the potential method of amortized analysis and
reduces bound inference to standard type inference with additional linear
constraint solving, even when deriving non-linear bounds. A key component of
AARA is resource functions that generate the space of possible bounds for
values of a given type while enjoying necessary closure properties.
Existing work on AARA defined such functions for many data structures such as
lists of lists but the question of whether such functions exist for arbitrary
data structures remained open. This work answers this questions positively by
uniformly constructing resource polynomials for algebraic data structures
defined by regular recursive types. These functions are a generalization of all
previously proposed polynomial resource functions and can be seen as a general
notion of polynomials for values of a given recursive type. A resource type
system for FPC, a core language with recursive types, demonstrates how resource
polynomials can be integrated with AARA while preserving all benefits of past
techniques. The article also proposes the use of new techniques useful for
stating the rules of this type system and proving it sound. First, multivariate
potential annotations are stated in terms of free semimodules, substantially
abstracting details of the presentation of annotations and the proofs of their
properties. Second, a logical relation giving semantic meaning to resource
types enables a proof of soundness by a single induction on typing derivations.Comment: 15 pages, 5 figures; to be published in LICS'2
Work Analysis with Resource-Aware Session Types
While there exist several successful techniques for supporting programmers in
deriving static resource bounds for sequential code, analyzing the resource
usage of message-passing concurrent processes poses additional challenges. To
meet these challenges, this article presents an analysis for statically
deriving worst-case bounds on the total work performed by message-passing
processes. To decompose interacting processes into components that can be
analyzed in isolation, the analysis is based on novel resource-aware session
types, which describe protocols and resource contracts for inter-process
communication. A key innovation is that both messages and processes carry
potential to share and amortize cost while communicating. To symbolically
express resource usage in a setting without static data structures and
intrinsic sizes, resource contracts describe bounds that are functions of
interactions between processes. Resource-aware session types combine standard
binary session types and type-based amortized resource analysis in a linear
type system. This type system is formulated for a core session-type calculus of
the language SILL and proved sound with respect to a multiset-based operational
cost semantics that tracks the total number of messages that are exchanged in a
system. The effectiveness of the analysis is demonstrated by analyzing standard
examples from amortized analysis and the literature on session types and by a
comparative performance analysis of different concurrent programs implementing
the same interface.Comment: 25 pages, 2 pages of references, 11 pages of appendix, Accepted at
LICS 201
QUANTIFYING GAINS TO RISK DIVERSIFICATION USING CERTAINTY EQUIVALENCE IN A MEAN-VARIANCE MODEL: AN APPLICATION TO FLORIDA CITRUS
The marginal benefit and cost of diversification for Florida orange producers is analyzed using certainty equivalents. Results indicate that for moderate and high levels of risk aversion, diversification into strawberry, grapefruit, or additional orange production is not optimal. However, moderately risk averse Florida orange producers can gain by diversifying into grapefruit production if the annual amortized fixed costs can be reduced by as little as 10 percent.Risk and Uncertainty,
A Simple and Scalable Static Analysis for Bound Analysis and Amortized Complexity Analysis
We present the first scalable bound analysis that achieves amortized
complexity analysis. In contrast to earlier work, our bound analysis is not
based on general purpose reasoners such as abstract interpreters, software
model checkers or computer algebra tools. Rather, we derive bounds directly
from abstract program models, which we obtain from programs by comparatively
simple invariant generation and symbolic execution techniques. As a result, we
obtain an analysis that is more predictable and more scalable than earlier
approaches. Our experiments demonstrate that our analysis is fast and at the
same time able to compute bounds for challenging loops in a large real-world
benchmark. Technically, our approach is based on lossy vector addition systems
(VASS). Our bound analysis first computes a lexicographic ranking function that
proves the termination of a VASS, and then derives a bound from this ranking
function. Our methodology achieves amortized analysis based on a new insight
how lexicographic ranking functions can be used for bound analysis
- …