Automatic verification of concurrent systems is an active area of research since at least a quater of a century. We focus here on analyses of systems designed to operate with an arbitrary number of processes. German and Sistla, already in 1992, initiated in depth investigation of this problem for finite state systems. For infinite state systems, like pushdown systems, extra care is needed to avoid undecidability, as reachability is undecidable even for two identical pushdown processes communicating via single variable. Kahlon and Gupta in 2006 have proposed to use parametrization as means of bypassing this undecidability barrier. Indeed when instead of two pushdown processes we consider some unspecified number of them, the reachability problem becomes decidable. This idea of parametrization as an abstraction has been pursued further by Hague, who in 2011 has shown that the problem is still decidable when one of the pushdown processes is made different from the others: there is one leader process and many contributor processes. We discuss how the idea of parametrization as an abstraction leads to decidability, and in some cases even efficient algorithms, for verification of systems which combine recursion with dynamic thread creation.
展开▼