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.
Supplemental Material
- A. Adje, O. Bouisseau, J. Goubault-Larrecq, E. Goubault, and S. Putot. Static analysis of programs with imprecise probabilistic inputs. In VSTTE, 2013.Google Scholar
- Patrick Billingsley. Probability and measure. John Wiley & Sons, 2008.Google Scholar
- R. Bloem, K. Chatterjee, T. Henzinger, and B. Jobstmann. Better quality in synthesis through quantitative objectives. In CAV, pages 140--156, 2009. Google Scholar
Digital Library
- P. Cerný, K. Chatterjee, T. Henzinger, A. Radhakrishna, and R. Singh. Quantitative synthesis for concurrent programs. In CAV, pages 243--259, 2011. Google Scholar
Digital Library
- P. Cerný and T. Henzinger. From boolean to quantitative synthesis. In EMSOFT, 2011.Google Scholar
- K. Chatterjee, T. Henzinger, B. Jobstmann, and R. Singh. Measuring and synthesizing systems in probabilistic environments. In CAV, pages 380--395, 2010. Google Scholar
Digital Library
- S. Chaudhuri, M. Clochard, and A. Solar-Lezama. Bridging boolean and quantitative synthesis using smoothed proof search. Technical report, Rice University, 2014.Google Scholar
- S. Chaudhuri and A. Solar-Lezama. Smooth interpretation. In PLDI, pages 279--291, 2010. Google Scholar
Digital Library
- S. Chaudhuri and A. Solar-Lezama. Smoothing a program soundly and robustly. In CAV, pages 277--292, 2011. Google Scholar
Digital Library
- S. Chaudhuri and A. Solar-Lezama. Euler: A system for numerical optimization of programs. In CAV, 2012. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- P. Cousot and M. Monerau. Probabilistic abstract interpretation. In ESOP, pages 169--193, 2012. Google Scholar
Digital Library
- A. Donzé, B. Krogh, and A. Rajhans. Parameter synthesis for hybrid systems with an application to Simulink models. In HSCC, 2009. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- S. Jambawalikar and P. Kumar. A note on approximate minimum volume enclosing ellipsoid of ellipsoids. In ICCSA, pages 478--487, 2008. Google Scholar
Digital Library
- S. Jha and S. Seshia. Synthesis of optimal fixed-point implementations of numerical software routines. In NSV, 2013.Google Scholar
- S. Jha, S. Seshia, and A. Tiwari. Synthesis of optimal switching logic for hybrid systems. In EMSOFT, pages 107--116, 2011. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- A. McCallum, K. Schultz, and S. Singh. Factorie: Probabilistic programming via imperatively defined factor graphs. In NIPS, pages 1249--1257, 2009.Google Scholar
Digital Library
- D. Monniaux. Abstract interpretation of probabilistic semantics. In SAS, pages 322--339, 2000. Google Scholar
Digital Library
- D. Monniaux. Backwards abstract interpretation of probabilistic programs. In ESOP, 2001. Google Scholar
Digital Library
- J. A. Nelder and R. Mead. A simplex method for function minimization. The computer journal, 7(4):308, 1965.Google Scholar
- A. Nori and R. Sharma. Termination proofs from tests. In ESEC/SIGSOFT FSE, pages 246--256, 2013. Google Scholar
Digital Library
- A. Platzer. Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics. Springer-Verlag, 2010. Google Scholar
Digital Library
- S. Seshia. Sciduction: combining induction, deduction, and structure for verification and synthesis. In DAC, pages 356--365, 2012. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- R. Sharma, S. Gupta, B. Hariharan, A. Aiken, and A. Nori. Verification as learning geometric concepts. In SAS, pages 388--411, 2013.Google Scholar
Cross Ref
- R. Singh and A. Solar-Lezama. Synthesizing data structure manipulations from storyboards. In SIGSOFT FSE, pages 289--299, 2011. Google Scholar
Digital Library
- M. Smith. Probabilistic abstract interpretation of imperative programs using truncated normal distributions. Electron. Notes Theor. Comput. Sci., 220(3):43--59, 2008. Google Scholar
Digital Library
- A. Solar-Lezama. Program Synthesis by Sketching. PhD thesis, UC Berkeley, 2008. Google Scholar
Digital Library
- Armando Solar-Lezama. Program sketching. STTT, 15(5--6):475--495, 2013.Google Scholar
- S. Srivastava, S. Gulwani, and J. Foster. From program verification to program synthesis. In POPL, pages 313--326, 2010. Google Scholar
Digital Library
- M. Vechev and E. Yahav. Deriving linearizable fine-grained concurrent objects. In PLDI, pages 125--135, 2008. Google Scholar
Digital Library
- M. Vechev, E. Yahav, and G. Yorsh. Abstraction-guided synthesis of synchronization. In POPL, pages 327--338, 2010. Google Scholar
Digital Library
- 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.Google Scholar
Index Terms
Bridging boolean and quantitative synthesis using smoothed proof search
Recommendations
Bridging boolean and quantitative synthesis using smoothed proof search
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesWe 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 ...
Synthesis by delayed binding of decisions
DAC '85: Proceedings of the 22nd ACM/IEEE Design Automation ConferenceThis paper presents a method for the automatic synthesis of digital systems from behavioral descriptions. Subtasks in complex problem solving activities like synthesis often interact. As a result, premature binding of decisions can lead to poor designs. ...
Automatic correction of RTL designs using a lightweight partial high level synthesis
AbstractCorrection of the digital designs have emerged as a major bottleneck at Register Transfer Level (RTL) due to the growing complexity of the digital systems and shortening time-to-market. Existing automated correction methods face ...
Highlights- A lightweight partial high level synthesis mechanism to correct RTL designs.
- ...







Comments