“…These approaches include (i) template-based techniques, such as [26,6,27], (ii) techniques based on predicate abstraction such as [11,12,13,22,5], and (iii) techniques based on probabilistic inference [4]. While some of these approaches are, in principle, capable of discovering precise invariants in loops exhibiting multiple phases, they are significantly more complicated, less efficient, and less widely-used than standard abstract interpretation-based techniques for generating conjunctive numeric invariants such as [1,2,28].…”