1. A system for specifying and evaluating a probabilistic assertion, comprising: a processor device element configured to execute modules; a first module configured to, when executed by the processor device element, transform a program comprising the probabilistic assertion and an input into an intermediate representation comprising a Bayesian network of nodes, and maintain a concrete heap and a stack instead of constructing the nodes in the Bayesian network in response to receiving non-probabilistic values, wherein the probabilistic assertion comprises a probabilistic logical statement based on random variables, a probability, and a confidence value; a second module configured to, when executed by the processor device element, verify the probabilistic assertion in the program by sampling the intermediate representation; and a third module configured to change the program to meet a desired specification or correctly express a probabilistic property of the program if the probabilistic assertion is verified as false.