75,232 research outputs found

    Reducing the size and number of linear programs in a dynamic Gr\"obner basis algorithm

    Full text link
    The dynamic algorithm to compute a Gr\"obner basis is nearly twenty years old, yet it seems to have arrived stillborn; aside from two initial publications, there have been no published followups. One reason for this may be that, at first glance, the added overhead seems to outweigh the benefit; the algorithm must solve many linear programs with many linear constraints. This paper describes two methods of reducing the cost substantially, answering the problem effectively.Comment: 11 figures, of which half are algorithms; submitted to journal for refereeing, December 201

    A Sums-of-Squares Extension of Policy Iterations

    Full text link
    In order to address the imprecision often introduced by widening operators in static analysis, policy iteration based on min-computations amounts to considering the characterization of reachable value set of a program as an iterative computation of policies, starting from a post-fixpoint. Computing each policy and the associated invariant relies on a sequence of numerical optimizations. While the early research efforts relied on linear programming (LP) to address linear properties of linear programs, the current state of the art is still limited to the analysis of linear programs with at most quadratic invariants, relying on semidefinite programming (SDP) solvers to compute policies, and LP solvers to refine invariants. We propose here to extend the class of programs considered through the use of Sums-of-Squares (SOS) based optimization. Our approach enables the precise analysis of switched systems with polynomial updates and guards. The analysis presented has been implemented in Matlab and applied on existing programs coming from the system control literature, improving both the range of analyzable systems and the precision of previously handled ones.Comment: 29 pages, 4 figure

    Feasible reactivity in a synchronous pi-calculus

    Get PDF
    Reactivity is an essential property of a synchronous program. Informally, it guarantees that at each instant the program fed with an input will `react' producing an output. In the present work, we consider a refined property that we call ` feasible reactivity'. Beyond reactivity, this property guarantees that at each instant both the size of the program and its reaction time are bounded by a polynomial in the size of the parameters at the beginning of the computation and the size of the largest input. We propose a method to annotate programs and we develop related static analysis techniques that guarantee feasible reactivity for programs expressed in the S-pi-calculus. The latter is a synchronous version of the pi-calculus based on the SL synchronous programming model

    Computing Dynamic Output Feedback Laws

    Full text link
    The pole placement problem asks to find laws to feed the output of a plant governed by a linear system of differential equations back to the input of the plant so that the resulting closed-loop system has a desired set of eigenvalues. Converting this problem into a question of enumerative geometry, efficient numerical homotopy algorithms to solve this problem for general Multi-Input-Multi-Output (MIMO) systems have been proposed recently. While dynamic feedback laws offer a wider range of use, the realization of the output of the numerical homotopies as a machine to control the plant in the time domain has not been addressed before. In this paper we present symbolic-numeric algorithms to turn the solution to the question of enumerative geometry into a useful control feedback machine. We report on numerical experiments with our publicly available software and illustrate its application on various control problems from the literature.Comment: 20 pages, 3 figures; the software described in this paper is publicly available via http://www.math.uic.edu/~jan/download.htm

    Computation Environments, An Interactive Semantics for Turing Machines (which P is not equal to NP considering it)

    Full text link
    To scrutinize notions of computation and time complexity, we introduce and formally define an interactive model for computation that we call it the \emph{computation environment}. A computation environment consists of two main parts: i) a universal processor and ii) a computist who uses the computability power of the universal processor to perform effective procedures. The notion of computation finds it meaning, for the computist, through his \underline{interaction} with the universal processor. We are interested in those computation environments which can be considered as alternative for the real computation environment that the human being is its computist. These computation environments must have two properties: 1- being physically plausible, and 2- being enough powerful. Based on Copeland' criteria for effective procedures, we define what a \emph{physically plausible} computation environment is. We construct two \emph{physically plausible} and \emph{enough powerful} computation environments: 1- the Turing computation environment, denoted by ETE_T, and 2- a persistently evolutionary computation environment, denoted by EeE_e, which persistently evolve in the course of executing the computations. We prove that the equality of complexity classes P\mathrm{P} and NP\mathrm{NP} in the computation environment EeE_e conflicts with the \underline{free will} of the computist. We provide an axiomatic system T\mathcal{T} for Turing computability and prove that ignoring just one of the axiom of T\mathcal{T}, it would not be possible to derive P=NP\mathrm{P=NP} from the rest of axioms. We prove that the computist who lives inside the environment ETE_T, can never be confident that whether he lives in a static environment or a persistently evolutionary one.Comment: 33 pages, interactive computation, P vs N

    Computational Soundness for Dalvik Bytecode

    Full text link
    Automatically analyzing information flow within Android applications that rely on cryptographic operations with their computational security guarantees imposes formidable challenges that existing approaches for understanding an app's behavior struggle to meet. These approaches do not distinguish cryptographic and non-cryptographic operations, and hence do not account for cryptographic protections: f(m) is considered sensitive for a sensitive message m irrespective of potential secrecy properties offered by a cryptographic operation f. These approaches consequently provide a safe approximation of the app's behavior, but they mistakenly classify a large fraction of apps as potentially insecure and consequently yield overly pessimistic results. In this paper, we show how cryptographic operations can be faithfully included into existing approaches for automated app analysis. To this end, we first show how cryptographic operations can be expressed as symbolic abstractions within the comprehensive Dalvik bytecode language. These abstractions are accessible to automated analysis, and they can be conveniently added to existing app analysis tools using minor changes in their semantics. Second, we show that our abstractions are faithful by providing the first computational soundness result for Dalvik bytecode, i.e., the absence of attacks against our symbolically abstracted program entails the absence of any attacks against a suitable cryptographic program realization. We cast our computational soundness result in the CoSP framework, which makes the result modular and composable.Comment: Technical report for the ACM CCS 2016 conference pape
    • …
    corecore