A Scalable Method for Solving Satisfiability of Integer Linear Arithmetic Logic

  • Hossein M. Sheini
  • Karem A. Sakallah
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3569)


In this paper, we present a hybrid method for deciding problems involving integer and Boolean variables which is based on generic SAT solving techniques augmented with a) a polynomial-time ILP solver for the special class of Unit-Two-Variable-Per-Inequality (unit TVPI or UTVPI) constraints and b) an independent solver for general integer linear constraints. In our approach, we present a novel method for encoding linear constraints into the SAT solver through binary “indicator” variables. The hybrid SAT problem is subsequently solved using a SAT search procedure in close collaboration with the UTVPI solver. The UTVPI solver interacts closely with the Boolean SAT solver by passing implications and conflicting assignments. The non-UTVPI constraints are handled separately and participate in the learning scheme of the SAT solver through an innovative method based on the theory of cutting planes. Empirical evidence on software verification benchmarks is presented that demonstrates the advantages of our combined method.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackermann, W.: Solvable Cases of the Decision Problem. North-Holland, Amsterdam (1954)zbMATHGoogle Scholar
  2. 2.
    Amon, T., Borriello, G., Hu, T., Liu, J.: Symbolic Timing Verification of Timing Diagrams Using Presburger Formulas. In: DAC, pp. 226–231 (1997)Google Scholar
  3. 3.
  4. 4.
    Audemard, G., Bertoli, P., Cimatti, A., Kornilowics, A., Sebastiani, R.: A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 193–208. Springer, Heidelberg (2002)Google Scholar
  5. 5.
    Barrett, C., Dill, D., Levitt, J.: Validity Checking for Combinations of Theories with Equality. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 187–201. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  6. 6.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., van Rossum, P., Schulz, S., Sebastiani, R.: An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 317–333. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Brinkmann, R., Drechsler, R.: RTL-datapath Verification Using Integer Linear Programming. In: VLSI Design, pp. 741–746 (2002)Google Scholar
  8. 8.
    Brzozowski, J.A., Seger, C.J.H.: Asynchronous Circuits. Springer, Heidelberg (1994)Google Scholar
  9. 9.
    Chvátal, V.: Edmonds polytopes and a hierarchy of combinatorial problems. Discrete Math. 4, 305–337 (1973)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Dash Inc., XPRESS-MP 15.25.03,
  11. 11.
    Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: A Theorem Prover for Program Checking. Tech. Report HPL-2003-148, HP Labs (2003)Google Scholar
  12. 12.
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Filliatre, J.C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonizer and Solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 246–249. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Ganapathy, V., Seshia, S.A., Jha, S., Reps, T.W., Bryant, R.E.: Automatic Discovery of API-Level Exploits. In: ICSE (2005)Google Scholar
  15. 15.
    Ganesh, V., Berezin, S., Dill, D.L.: Deciding Presburger Arithmetic by Model Checking and Comparisons with Other Methods. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 171–186. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): Fast Decision Procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
  18. 18.
    Iyer, M.K., Parthasarathy, G., Cheng, K.-T.: Efficient Conflict-Based Learning in an RTL Circuit Constraint Solver. In: DATE, pp. 666–671 (2005)Google Scholar
  19. 19.
    Jaffar, J., Maher, M., Suckey, P., Yap, R.: Beyond Finite Domains. In: Borning, A. (ed.) PPCP 1994. LNCS, vol. 874, pp. 86–94. Springer, Heidelberg (1994)Google Scholar
  20. 20.
    Kroening, D., Ouaknine, J., Seshia, S., Strichman, O.: Abstraction-based Satisfiability Solving of Presburger Arithmetic. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 308–320. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Marques-Silva, J.P., Sakallah, K.A.: GRASP: A Search Algorithm for Propositional Satisfiability. IEEE Trans. on Computers 48(5), 506–521 (1999)CrossRefMathSciNetGoogle Scholar
  22. 22.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: DAC, pp. 530–535 (2001)Google Scholar
  23. 23.
    de Moura, L., Rueß, H.: An Experimental Evaluation of Ground Decision Procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 162–174. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  24. 24.
    Nelson, G., Oppen, D.C.: Simplification by Cooperating Decision Procedures. ACM Trans. on Programming Languages and Systems 1, 245–257 (1979)zbMATHCrossRefGoogle Scholar
  25. 25.
    Presburger, M.: Uber die Vollstandigkeit eines Gewissen Systems der Arithmetik Ganzer Zahlen, in Welchem die Addition als Einzige Operation Hervortritt. Comptes-rendus du premier congres des mathematiciens des pays slaves 395, 92–101 (1929)Google Scholar
  26. 26.
    Pugh, W.: The Omega Test: A Fast and Practical Integer Programming Algorithm for Dependence Analysis. In: ACM conf. on Supercomputing, pp. 4–13 (1991)Google Scholar
  27. 27.
    Rueß, H., Shankar, N.: Solving Linear Arithmetic Constraints. SRI International Tech. Report CSL-SRI-04-01 (January 2004)Google Scholar
  28. 28.
    Seshia, S., Bryant, R.: Deciding Quantifier-Free Presburger Formulas Using Parameterized Solution Bounds. In: LICS, pp. 100–109 (2004)Google Scholar
  29. 29.
    Shostak, R.: Deciding Combination of Theories. Journal of the ACM 31, 1–12 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Shostak, R.: Deciding Linear Inequalities by Computing Loop Residues. Journal of the ACM 28(4), 769–779 (1981)zbMATHCrossRefMathSciNetGoogle Scholar
  31. 31.
    Strichman, O., Seshia, S.A., Bryant, R.E.: Deciding Separation Formulas with SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 209–222. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  32. 32.
    Wagner, D., Foster, J.S., Brewer, E.A., Aiken, A.: A First Step Towards Detection of Buffer Overrun Vulnerabilities. In: Network and Distributed System Security Symposium, Internet Society (2000)Google Scholar
  33. 33.
    Wilson, J.M.: Compact Normal Forms in Propositional Logic and Integer Programming Formulations. Computers and Operation Research, 309–314 (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Hossein M. Sheini
    • 1
  • Karem A. Sakallah
    • 1
  1. 1.Dept. of Electrical Engineering and Computer ScienceAnn ArborUSA

Personalised recommendations