  In this work, we consider the almost-sure termination problem for
probabilistic programs that asks whether a given probabilistic program
terminates with probability 1. Scalable approaches for program analysis often
rely on modularity as their theoretical basis. In non-probabilistic programs,
the classical variant rule (V-rule) of Floyd-Hoare logic provides the
foundation for modular analysis. Extension of this rule to almost-sure
termination of probabilistic programs is quite tricky, and a probabilistic
variant was proposed in [Fioriti and Hermanns 2015]. While the proposed
probabilistic variant cautiously addresses the key issue of integrability, we
show that the proposed modular rule is still not sound for almost-sure
termination of probabilistic programs.
  Besides establishing unsoundness of the previous rule, our contributions are
as follows: First, we present a sound modular rule for almost-sure termination
of probabilistic programs. Our approach is based on a novel notion of descent
supermartingales. Second, for algorithmic approaches, we consider descent
supermartingales that are linear and show that they can be synthesized in
polynomial time. Finally, we present experimental results on a variety of
benchmarks and several natural examples that model various types of nested
while loops in probabilistic programs and demonstrate that our approach is able
to efficiently prove their almost-sure termination property.
