Inductive Synthesis for Probabilistic Programs Reaches New Horizons

This paper presents a novel method for the automated synthesis of probabilistic programs. The starting point is a program sketch representing a finite family of finite-state Markov chains with related but distinct topologies, and a reachability specification. The method builds on a novel inductive oracle that greedily generates counter-examples (CEs) for violating programs and uses them to prune the family. These CEs leverage the semantics of the family in the form of bounds on its best- and worst-case behaviour provided by a deductive oracle using an MDP abstraction. The method further monitors the performance of the synthesis and adaptively switches between inductive and deductive reasoning. Our experiments demonstrate that the novel CE construction provides a significantly faster and more effective pruning strategy leading to an accelerated synthesis process on a wide range of benchmarks. For challenging problems, such as the synthesis of decentralized partially-observable controllers, we reduce the run-time from a day to minutes.

[1]  Sebastian Junges,et al.  Parameter Synthesis for Markov Models: Faster Than Ever , 2016, ATVA.

[2]  Armando Solar-Lezama,et al.  Programming by sketching for bit-streaming programs , 2005, PLDI '05.

[3]  Nils Jansen,et al.  Counterexamples for Expected Rewards , 2015, FM.

[4]  Sumit Gulwani,et al.  Oracle-guided component-based program synthesis , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[5]  Pierre-Yves Schobbens,et al.  Model checking software product lines with SNIP , 2012, International Journal on Software Tools for Technology Transfer.

[6]  Christoph Lindemann,et al.  Performance Modelling with Deterministic and Stochastic Petri Nets , 1998, PERV.

[7]  Sriram K. Rajamani,et al.  Efficient synthesis of probabilistic programs , 2015, PLDI.

[8]  Lijun Zhang,et al.  Probabilistic Reachability for Parametric Markov Models , 2009, SPIN.

[9]  Axel Legay,et al.  QFLan: A Tool for the Quantitative Analysis of Highly Reconfigurable Systems , 2018, FM.

[10]  Sebastian Junges,et al.  Shepherding Hordes of Markov Chains , 2019, TACAS.

[11]  Christel Baier,et al.  Parametric Markov Chains: PCTL Complexity and Fraction-free Gaussian Elimination , 2017, GandALF.

[12]  Conrado Daws Symbolic and Parametric Model Checking of Discrete-Time Markov Chains , 2004, ICTAC.

[13]  Nils Jansen,et al.  A Greedy Approach for the Efficient Repair of Stochastic Models , 2015, NFM.

[14]  Christel Baier,et al.  Model Checking Probabilistic Systems , 2018, Handbook of Model Checking.

[15]  Radu Calinescu,et al.  Synthesis of probabilistic models for quality-of-service software engineering , 2018, Automated Software Engineering.

[16]  Ventsislav Chonev,et al.  Reachability in Augmented Interval Markov Chains , 2017, RP.

[17]  Rajeev Alur,et al.  Syntax-guided synthesis , 2013, 2013 Formal Methods in Computer-Aided Design.

[18]  Emina Torlak,et al.  Optimizing synthesis with metasketches , 2016, POPL.

[19]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[20]  Carlo Ghezzi,et al.  Model-based verification of quantitative non-functional properties for software product lines , 2013, Inf. Softw. Technol..

[21]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[22]  Steffen Becker,et al.  Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms , 2010, WOSP/SIPEW '10.

[23]  Panagiotis Katsaros,et al.  Abstract model repair for probabilistic systems , 2018, Inf. Comput..

[24]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[25]  Martin C. Rinard,et al.  Bayesian synthesis of probabilistic programs for automatic data modeling , 2019, Proc. ACM Program. Lang..

[26]  Nils Jansen,et al.  Fast Debugging of PRISM Models , 2014, ATVA.

[27]  Christel Baier,et al.  ProFeat: feature-oriented engineering for family-based probabilistic model checking , 2017, Formal Aspects of Computing.

[28]  C. R. Ramakrishnan,et al.  Model Repair for Probabilistic Systems , 2011, TACAS.

[29]  Sebastian Junges,et al.  A Storm is Coming: A Modern Probabilistic Model Checker , 2017, CAV.

[30]  Marta Z. Kwiatkowska,et al.  Probabilistic verification of Herman’s self-stabilisation algorithm , 2012, Formal Aspects of Computing.

[31]  Anne Condon,et al.  On the Undecidability of Probabilistic Planning and Infinite-Horizon Partially Observable Markov Decision Problems , 1999, AAAI/IAAI.

[32]  Lubos Brim,et al.  Precise parameter synthesis for stochastic biochemical systems , 2014, Acta Informatica.

[33]  Nils Jansen,et al.  Counterexample Generation for Discrete-Time Markov Models: An Introductory Survey , 2014, SFM.

[34]  Ted Herman,et al.  Probabilistic Self-Stabilization , 1990, Information Processing Letters.

[35]  Radu Calinescu,et al.  Efficient synthesis of robust models for stochastic systems , 2018, J. Syst. Softw..

[36]  Sebastian Junges,et al.  PROPhESY: A PRObabilistic ParamEter SYnthesis Tool , 2015, CAV.

[37]  Sebastian Junges,et al.  Counterexample-Driven Synthesis for Probabilistic Program Sketches , 2019, FM.

[38]  Frans A. Oliehoek,et al.  A Concise Introduction to Decentralized POMDPs , 2016, SpringerBriefs in Intelligent Systems.

[39]  Christel Baier,et al.  Farkas Certificates and Minimal Witnesses for Probabilistic Reachability Constraints , 2020, TACAS.