“…Many program analysis and verification algorithms and tools have the need to solve linear integer constraints or its extensions, such as for checking array bounds to ensure memory safety [15,38,16,35] and for detecting buffer overruns for security applications [36], and for array dependency analysis for parallel compilers [31,32,29,33,7,6]. However, solving integer linear constraints is a difficult problem [22], and only very special cases have efficient algorithms [30,3].…”