Constructive development of probabilistic programs

  • Authors:
  • Hassan Haghighi;Mohammad Mahdi Javanmard

  • Affiliations:
  • Faculty of Electrical and Computer Engineering, Shahid Beheshti University, Tehran, Iran;Faculty of Electrical and Computer Engineering, Shahid Beheshti University, Tehran, Iran

  • Venue:
  • FSEN'11 Proceedings of the 4th IPM international conference on Fundamentals of Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Probabilistic techniques in computer programs are becoming more and more widely used. Therefore, there is a big interest in methods for formal specification, verification, and development of probabilistic programs. In this paper, we present a constructive framework to develop probabilistic programs formally. To achieve this goal, we first introduce a Z-based formalism that assists us to specify probabilistic programs simply. This formalism is mainly based on a new notion of Z operation schemas, called probabilistic schemas, and a new set of schema calculus operations that can be applied on probabilistic schemas as well as ordinary operation schemas. We show the resulting formalism can be used to specify any discrete-time Markov chain. We also reason how one can derive functional probabilistic programs from correctness proofs of formal specifications written in the new formalism. In this way, a completely formal solution to develop probabilistic programs will be proposed.