11,736 research outputs found

    Transfer Function Synthesis without Quantifier Elimination

    Get PDF
    Traditionally, transfer functions have been designed manually for each operation in a program, instruction by instruction. In such a setting, a transfer function describes the semantics of a single instruction, detailing how a given abstract input state is mapped to an abstract output state. The net effect of a sequence of instructions, a basic block, can then be calculated by composing the transfer functions of the constituent instructions. However, precision can be improved by applying a single transfer function that captures the semantics of the block as a whole. Since blocks are program-dependent, this approach necessitates automation. There has thus been growing interest in computing transfer functions automatically, most notably using techniques based on quantifier elimination. Although conceptually elegant, quantifier elimination inevitably induces a computational bottleneck, which limits the applicability of these methods to small blocks. This paper contributes a method for calculating transfer functions that finesses quantifier elimination altogether, and can thus be seen as a response to this problem. The practicality of the method is demonstrated by generating transfer functions for input and output states that are described by linear template constraints, which include intervals and octagons.Comment: 37 pages, extended version of ESOP 2011 pape

    Differential Performance Debugging with Discriminant Regression Trees

    Full text link
    Differential performance debugging is a technique to find performance problems. It applies in situations where the performance of a program is (unexpectedly) different for different classes of inputs. The task is to explain the differences in asymptotic performance among various input classes in terms of program internals. We propose a data-driven technique based on discriminant regression tree (DRT) learning problem where the goal is to discriminate among different classes of inputs. We propose a new algorithm for DRT learning that first clusters the data into functional clusters, capturing different asymptotic performance classes, and then invokes off-the-shelf decision tree learning algorithms to explain these clusters. We focus on linear functional clusters and adapt classical clustering algorithms (K-means and spectral) to produce them. For the K-means algorithm, we generalize the notion of the cluster centroid from a point to a linear function. We adapt spectral clustering by defining a novel kernel function to capture the notion of linear similarity between two data points. We evaluate our approach on benchmarks consisting of Java programs where we are interested in debugging performance. We show that our algorithm significantly outperforms other well-known regression tree learning algorithms in terms of running time and accuracy of classification.Comment: To Appear in AAAI 201

    Quadratic Zonotopes:An extension of Zonotopes to Quadratic Arithmetics

    Full text link
    Affine forms are a common way to represent convex sets of R\mathbb{R} using a base of error terms ϵ∈[−1,1]m\epsilon \in [-1, 1]^m. Quadratic forms are an extension of affine forms enabling the use of quadratic error terms ϵiϵj\epsilon_i \epsilon_j. In static analysis, the zonotope domain, a relational abstract domain based on affine forms has been used in a wide set of settings, e.g. set-based simulation for hybrid systems, or floating point analysis, providing relational abstraction of functions with a cost linear in the number of errors terms. In this paper, we propose a quadratic version of zonotopes. We also present a new algorithm based on semi-definite programming to project a quadratic zonotope, and therefore quadratic forms, to intervals. All presented material has been implemented and applied on representative examples.Comment: 17 pages, 5 figures, 1 tabl

    On the Equivalence of Youla, System-level and Input-output Parameterizations

    Full text link
    A convex parameterization of internally stabilizing controllers is fundamental for many controller synthesis procedures. The celebrated Youla parameterization relies on a doubly-coprime factorization of the system, while the recent system-level and input-output characterizations require no doubly-coprime factorization but a set of equality constraints for achievable closed-loop responses. In this paper, we present explicit affine mappings among Youla, system-level and input-output parameterizations. Two direct implications of the affine mappings are 1) any convex problem in Youla, system level, or input-output parameters can be equivalently and convexly formulated in any other one of these frameworks, including the convex system-level synthesis (SLS); 2) the condition of quadratic invariance (QI) is sufficient and necessary for the classical distributed control problem to admit an equivalent convex reformulation in terms of Youla, system-level, or input-output parameters.Comment: 8 pages, 3 figure

    Polynomial Invariants for Affine Programs

    Get PDF
    We exhibit an algorithm to compute the strongest polynomial (or algebraic) invariants that hold at each location of a given affine program (i.e., a program having only non-deterministic (as opposed to conditional) branching and all of whose assignments are given by affine expressions). Our main tool is an algebraic result of independent interest: given a finite set of rational square matrices of the same dimension, we show how to compute the Zariski closure of the semigroup that they generate
    • …
    corecore