“…Various kinds of symbolic techniques such as: (i) automata and grammars, e.g., [1,15,13,14,38,66,5,4,3,33]; (ii) SMT and other forms of constraint solving, e.g., [6,20,35,36,64,73,75,39,11]; and (iii) narrowing [72,30,31,9,10], have been employed for this purpose. All are useful in their own way and can complement each other; and there is great interest in combining the power of these different symbolic approaches to handle a wider range of applications [59,60] (see, e.g., [70] and the survey [58] for combinations of this kind).…”