Backwards Abstract Interpretation of Probabilistic Programs
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Abstract Interpretation of Probabilistic Semantics
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
Using HyTech to Synthesize Control Parameters for a Steam Boiler
Formal Methods for Industrial Applications, Specifying and Programming the Steam Boiler Control (the book grow out of a Dagstuhl Seminar, June 1995).
Deriving linearizable fine-grained concurrent objects
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
A Note on Approximate Minimum Volume Enclosing Ellipsoid of Ellipsoids
ICCSA '08 Proceedings of the 2008 International Conference on Computational Sciences and Its Applications
Probabilistic Abstract Interpretation of Imperative Programs using Truncated Normal Distributions
Electronic Notes in Theoretical Computer Science (ENTCS)
Parameter Synthesis for Hybrid Systems with an Application to Simulink Models
HSCC '09 Proceedings of the 12th International Conference on Hybrid Systems: Computation and Control
Better Quality in Synthesis through Quantitative Objectives
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
From program verification to program synthesis
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstraction-guided synthesis of synchronization
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program synthesis by sketching
Program synthesis by sketching
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics
Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics
Linear-invariant generation for probabilistic programs: automated support for proof-based methods
SAS'10 Proceedings of the 17th international conference on Static analysis
Synthesizing data structure manipulations from storyboards
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Quantitative synthesis for concurrent programs
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Smoothing a program soundly and robustly
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Synthesis of optimal switching logic for hybrid systems
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Measuring and synthesizing systems in probabilistic environments
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Sciduction: combining induction, deduction, and structure for verification and synthesis
Proceedings of the 49th Annual Design Automation Conference
Probabilistic abstract interpretation
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
EULER: a system for numerical optimization of programs
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
A data driven approach for algebraic loop invariants
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Bayesian inference using data flow analysis
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
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.