  Probabilistic programs extend classical imperative programs with real-valued
random variables and random branching. The most basic liveness property for
such programs is the termination property. The qualitative (aka almost-sure)
termination problem given a probabilistic program asks whether the program
terminates with probability 1. While ranking functions provide a sound and
complete method for non-probabilistic programs, the extension of them to
probabilistic programs is achieved via ranking supermartingales (RSMs). While
deep theoretical results have been established about RSMs, their application to
probabilistic programs with nondeterminism has been limited only to academic
examples. For non-probabilistic programs, lexicographic ranking functions
provide a compositional and practical approach for termination analysis of
real-world programs. In this work we introduce lexicographic RSMs and show that
they present a sound method for almost-sure termination of probabilistic
programs with nondeterminism. We show that lexicographic RSMs provide a tool
for compositional reasoning about almost sure termination, and for
probabilistic programs with linear arithmetic they can be synthesized
efficiently (in polynomial time). We also show that with additional
restrictions even asymptotic bounds on expected termination time can be
obtained through lexicographic RSMs. Finally, we present experimental results
on abstractions of real-world programs to demonstrate the effectiveness of our
approach.
