Optimizations for Compiling Declarative Models into Boolean Formulas

  • Darko Marinov
  • Sarfraz Khurshid
  • Suhabe Bugrara
  • Lintao Zhang
  • Martin Rinard
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3569)


Advances in SAT solver technology have enabled many automated analysis and reasoning tools to reduce their input problem to a SAT problem, and then to use an efficient SAT solver to solve the underlying analysis or reasoning problem. The solving time for SAT solvers can vary substantially for semantically identical SAT problems depending on how the problem is expressed. This property motivates the development of new optimization techniques whose goal is to produce more efficiently solvable SAT problems, thereby improving the overall performance of the analysis or reasoning tool.

This paper presents our experience using several mechanical techniques that enable the Alloy Analyzer to generate optimized SAT formulas from first-order logic formulas. These techniques are inspired by similar techniques from the field of optimizing compilers, suggesting the potential presence of underlying connections between optimization problems from two very different domains. Our experimental results show that our techniques can deliver substantial performance improvement results—in some cases, they reduce the solving time by an order of magnitude.


Transitive Closure Alloy Model Partial Evaluation Conjunctive Normal Form Boolean Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adjie-Winoto, W., Schwartz, E., Balakrishnan, H., Lilley, J.: The design and implementation of an intentional naming system. In: Proc. 17th ACM Symposium on Operating Systems Principles (SOSP), Kiawah Island (December 1999)Google Scholar
  2. 2.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading (1988)Google Scholar
  3. 3.
    Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Proc. 36th Conference on Design Automation (DAC), New Orleans, LA (June 1999)Google Scholar
  4. 4.
    Clarke, E., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. The MIT Press, Cambridge (1990)zbMATHGoogle Scholar
  6. 6.
    Edwards, J., Jackson, D., Torlak, E., Yeung, V.: Faster constraint solving with subtypes. In: Proc. International Symposium on Software Testing and Analysis (ISSTA) (July 2004)Google Scholar
  7. 7.
    Ernst, M.D., Millstein, T.D., Weld, D.S.: Automatic SAT-compilation of planning problems. In: IJCAI 1997, Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence, Nagoya, Japan, August 1997, pp. 1169–1176 (1997)Google Scholar
  8. 8.
    Ganai, M.K., Zhang, L., Ashar, P., Gupta, A., Malik, S.: Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver. In: Proc. 39th Conference on Design Automation (DAC), June 2002, pp. 747–750 (2002)Google Scholar
  9. 9.
    Jackson, D.: Automating first-order relational logic. In: Proc. 8th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), San Diego, CA (November 2000)Google Scholar
  10. 10.
    Jackson, D.: Micromodels of software: Modelling and analysis with Alloy (2001),
  11. 11.
    Jackson, D., Fekete, A.: Lightweight analysis of object interactions. In: Kobayashi, N., Pierce, B.C. (eds.) TACS 2001. LNCS, vol. 2215, p. 492. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Jackson, D., Schechter, I., Shlyakhter, I.: ALCOA: The Alloy constraint analyzer. In: Proc. 22nd International Conference on Software Engineering (ICSE), Limerick, Ireland (June 2000)Google Scholar
  13. 13.
    Kautz, H., Selman, B.: Planning as satisfiability. In: Proc. European Conference on Artificial Intelligence (ECAI), Vienna, Austria (August 1992)Google Scholar
  14. 14.
    Khurshid, S., Jackson, D.: Exploring the design of an intentional naming scheme with an automatic constraint analyzer. In: Proc. 15th IEEE International Conference on Automated Software Engineering (ASE), Grenoble, France (September 2000)Google Scholar
  15. 15.
    Khurshid, S., Marinov, D., Shlyakhter, I., Jackson, D.: A case for efficient solution enumeration. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 272–286. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Lynce, I., Marques-Silva, J.P.: Probing-based preprocessing techniques for propositional satisfiability. In: Proc. the IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2003) (November 2003)Google Scholar
  17. 17.
    Marques-Silva, J.P., Glass, T.: Combinational equivalence checking using satisfiability and recursive learning. In: Proc. the IEEE/ACM Design, Automation and Testing in Europe (DATE), March 2003, pp. 145–149 (2003)Google Scholar
  18. 18.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the 39th Design Automation Conference (DAC) (June 2001)Google Scholar
  19. 19.
    Narain, S.: Network configuration management via model finding. Internal report, Telcordia Research, Piscataway, NJ (September 2004)Google Scholar
  20. 20.
    Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A hybrid SAT-based decision procedure for separation logic with uninterpreted functions. In: Proc. 40th Conference on Design Automation (DAC), June 2003, pp. 425–430 (2003)Google Scholar
  21. 21.
    Shlyakhter, I.: Generating effective symmetry-breaking predicates for search problems. In: Proc. Workshop on Theory and Applications of Satisfiability Testing (June 2001)Google Scholar
  22. 22.
    Shlyakhter, I., Sridharan, M., Seater, R., Jackson, D.: Exploiting subformula sharing in automatic analysis of quantified formulas. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Subbarayan, S., Pradhan, D.K.: NiVER: Non increasing variable elimination resolution for preprocessing SAT instances. In: Hoos, H.H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 276–291. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Vaziri, M.: Finding Bugs Using a Constraint Solver. PhD thesis, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology (2003)Google Scholar
  25. 25.
    Velev, M.N.: Efficient translation of boolean formulas to CNF in formal verification of microprocessors. In: Asia and South Pacific Design Automation Conference (ASP-DAC), January 2004, pp. 310–315 (2004)Google Scholar
  26. 26.
    Velev, M.N.: Encoding global unobservability for efficient translation to SAT. In: Hoos, H.H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 197–204. Springer, Heidelberg (2005)Google Scholar
  27. 27.
    Zhang, L., Malik, S.: The quest for efficient boolean satisfiability solvers. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, p. 295. Springer, Heidelberg (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Darko Marinov
    • 1
  • Sarfraz Khurshid
    • 2
  • Suhabe Bugrara
    • 3
  • Lintao Zhang
    • 4
  • Martin Rinard
    • 3
  1. 1.Deptartment of Computer ScienceUniversity of IllinoisUrbana-ChampaignUSA
  2. 2.Dept. of Electrical & Computer EngineeringUniversity of TexasAustinUSA
  3. 3.MIT Computer Science and Artificial Intelligence LaboratoryCambridgeUSA
  4. 4.Microsoft Research Silicon Valley LabMountain ViewUSA

Personalised recommendations