Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Bridging boolean and quantitative synthesis using smoothed proof search

Published: 08 January 2014 Publication History
  • Get Citation Alerts
  • Abstract

    We present a new technique for parameter synthesis under boolean and quantitative objectives. The input to the technique is a "sketch" --- a program with missing numerical parameters --- and a probabilistic assumption about the program's inputs. The goal is to automatically synthesize values for the parameters such that the resulting program satisfies: (1) a {boolean specification}, which states that the program must meet certain assertions, and (2) a {quantitative specification}, which assigns a real valued rating to every program and which the synthesizer is expected to optimize.
    Our method --- called smoothed proof search --- reduces this task to a sequence of unconstrained smooth optimization problems that are then solved numerically. By iteratively solving these problems, we obtain parameter values that get closer and closer to meeting the boolean specification; at the limit, we obtain values that provably meet the specification. The approximations are computed using a new notion of smoothing for program abstractions, where an abstract transformer is approximated by a function that is continuous according to a metric over abstract states.
    We present a prototype implementation of our synthesis procedure, and experimental results on two benchmarks from the embedded control domain. The experiments demonstrate the benefits of smoothed proof search over an approach that does not meet the boolean and quantitative synthesis goals simultaneously.

    Supplementary Material

    JPG File (d1_left_t10.jpg)
    MP4 File (d1_left_t10.mp4)

    References

    [1]
    A. Adje, O. Bouisseau, J. Goubault-Larrecq, E. Goubault, and S. Putot. Static analysis of programs with imprecise probabilistic inputs. In VSTTE, 2013.
    [2]
    Patrick Billingsley. Probability and measure. John Wiley & Sons, 2008.
    [3]
    R. Bloem, K. Chatterjee, T. Henzinger, and B. Jobstmann. Better quality in synthesis through quantitative objectives. In CAV, pages 140--156, 2009.
    [4]
    P. Cerný, K. Chatterjee, T. Henzinger, A. Radhakrishna, and R. Singh. Quantitative synthesis for concurrent programs. In CAV, pages 243--259, 2011.
    [5]
    P. Cerný and T. Henzinger. From boolean to quantitative synthesis. In EMSOFT, 2011.
    [6]
    K. Chatterjee, T. Henzinger, B. Jobstmann, and R. Singh. Measuring and synthesizing systems in probabilistic environments. In CAV, pages 380--395, 2010.
    [7]
    S. Chaudhuri, M. Clochard, and A. Solar-Lezama. Bridging boolean and quantitative synthesis using smoothed proof search. Technical report, Rice University, 2014.
    [8]
    S. Chaudhuri and A. Solar-Lezama. Smooth interpretation. In PLDI, pages 279--291, 2010.
    [9]
    S. Chaudhuri and A. Solar-Lezama. Smoothing a program soundly and robustly. In CAV, pages 277--292, 2011.
    [10]
    S. Chaudhuri and A. Solar-Lezama. Euler: A system for numerical optimization of programs. In CAV, 2012.
    [11]
    G. Claret, S. Rajamani, A. Nori, A. Gordon, and J. Borgström. Bayesian inference using data flow analysis. In ESEC/SIGSOFT FSE, pages 92--102, 2013.
    [12]
    P. Cousot and M. Monerau. Probabilistic abstract interpretation. In ESOP, pages 169--193, 2012.
    [13]
    A. Donzé, B. Krogh, and A. Rajhans. Parameter synthesis for hybrid systems with an application to Simulink models. In HSCC, 2009.
    [14]
    T. Henzinger and H. Wong-Toi. Using HyTech to synthesize control parameters for a steam boiler. In Formal Methods for Industrial Applications, pages 265--282, 1995.
    [15]
    S. Jambawalikar and P. Kumar. A note on approximate minimum volume enclosing ellipsoid of ellipsoids. In ICCSA, pages 478--487, 2008.
    [16]
    S. Jha and S. Seshia. Synthesis of optimal fixed-point implementations of numerical software routines. In NSV, 2013.
    [17]
    S. Jha, S. Seshia, and A. Tiwari. Synthesis of optimal switching logic for hybrid systems. In EMSOFT, pages 107--116, 2011.
    [18]
    J. Katoen, A. McIver, L. Meinicke, and C. Morgan. Linear-invariant generation for probabilistic programs: Automated support for proof-based methods. In SAS, pages 390--406, 2010.
    [19]
    A. McCallum, K. Schultz, and S. Singh. Factorie: Probabilistic programming via imperatively defined factor graphs. In NIPS, pages 1249--1257, 2009.
    [20]
    D. Monniaux. Abstract interpretation of probabilistic semantics. In SAS, pages 322--339, 2000.
    [21]
    D. Monniaux. Backwards abstract interpretation of probabilistic programs. In ESOP, 2001.
    [22]
    J. A. Nelder and R. Mead. A simplex method for function minimization. The computer journal, 7(4):308, 1965.
    [23]
    A. Nori and R. Sharma. Termination proofs from tests. In ESEC/SIGSOFT FSE, pages 246--256, 2013.
    [24]
    A. Platzer. Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics. Springer-Verlag, 2010.
    [25]
    S. Seshia. Sciduction: combining induction, deduction, and structure for verification and synthesis. In DAC, pages 356--365, 2012.
    [26]
    R. Sharma, S. Gupta, B. Hariharan, A. Aiken, P. Liang, and A. Nori. A data driven approach for algebraic loop invariants. In ESOP, pages 574--592, 2013.
    [27]
    R. Sharma, S. Gupta, B. Hariharan, A. Aiken, and A. Nori. Verification as learning geometric concepts. In SAS, pages 388--411, 2013.
    [28]
    R. Singh and A. Solar-Lezama. Synthesizing data structure manipulations from storyboards. In SIGSOFT FSE, pages 289--299, 2011.
    [29]
    M. Smith. Probabilistic abstract interpretation of imperative programs using truncated normal distributions. Electron. Notes Theor. Comput. Sci., 220(3):43--59, 2008.
    [30]
    A. Solar-Lezama. Program Synthesis by Sketching. PhD thesis, UC Berkeley, 2008.
    [31]
    Armando Solar-Lezama. Program sketching. STTT, 15(5--6):475--495, 2013.
    [32]
    S. Srivastava, S. Gulwani, and J. Foster. From program verification to program synthesis. In POPL, pages 313--326, 2010.
    [33]
    M. Vechev and E. Yahav. Deriving linearizable fine-grained concurrent objects. In PLDI, pages 125--135, 2008.
    [34]
    M. Vechev, E. Yahav, and G. Yorsh. Abstraction-guided synthesis of synchronization. In POPL, pages 327--338, 2010.
    [35]
    J. Winn and T. Minka. Probabilistic programming with infer .NET. Machine Learning Summer School lecture notes, available at http://research.microsoft.com/\ minka/papers/mlss2009, 2009.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 49, Issue 1
    POPL '14
    January 2014
    661 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2578855
    Issue’s Table of Contents
    • cover image ACM Conferences
      POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
      January 2014
      702 pages
      ISBN:9781450325448
      DOI:10.1145/2535838
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 08 January 2014
    Published in SIGPLAN Volume 49, Issue 1

    Check for updates

    Author Tags

    1. abstract interpretation
    2. probabilistic programs
    3. probabilistic verification
    4. program smoothing
    5. synthesis

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media