Alloy+HotCore: A Fast Approximation to Unsat Core

  • Nicolás D’Ippolito
  • Marcelo F. Frias
  • Juan P. Galeotti
  • Esteban Lanzarotti
  • Sergio Mera
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5977)


Identifying a minimal unsatisfiable core in an Alloy model proved to be a very useful feature in many scenarios. We extend this concept to hot core, an approximation to unsat core that enables the user to obtain valuable feedback when the Alloy’s sat-solving process is abruptly interrupted. We present some use cases that exemplify this new feature and explain the applied heuristics. The NP-completeness nature of the verification problem makes hot core specially appealing, since it is quite frequent for users of the Alloy Analyzer to stop the analysis when some time threshold is exceeded. We provide experimental results showing very promising outcomes supporting our proposal.


Alloy Model Conjunctive Normal Form Fast Approximation Conjunctive Normal Form Formula Empty Clause 
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.
    Jackson, D.: Software abstractions: logic, language, and analysis. MIT Press, Cambridge (2006)Google Scholar
  2. 2.
    Een, N., Sorensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Torlak, E., Chang, F., Jackson, D.: Finding minimal unsatisfiable cores of declarative specifications. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 326–341. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Cook, S.A.: The complexity of theorem-proving procedures. In: STOC 1971, pp. 151–158. ACM, New York (1971)CrossRefGoogle Scholar
  5. 5.
    Sinz, C.: Visualizing sat instances and runs of the dpll algorithm. Journal of Automated Reasoning 39(2), 219–243 (2007)zbMATHCrossRefGoogle Scholar
  6. 6.
    Selman, B., Levesque, H., Mitchell, D.: A new method for solving hard satisfiability problems. In: Procs. of the 10th Conf. on Artificial Intelligence, pp. 440–446 (1992)Google Scholar
  7. 7.
    Selman, B., Kautz, H., Cohen, B.: Local search strategies for satisfiability testing. DIMACS Series in Discrete Mathematics and Theoretical Computer Science (1993)Google Scholar
  8. 8.
    Mazure, B., Saïs, L., Grégoire, É.: A powerful heuristic to locate inconsistent kernels in knowledge-based systems. In: IPMU 1996, pp. 1265–1269 (1996)Google Scholar
  9. 9.
    Grégoire, E., Mazure, B., Piette, C.: Boosting a complete technique to find mss and mus thanks to a local search oracle. In: Proceedings of IJCAI, pp. 2300–2305 (2007)Google Scholar
  10. 10.
    Leino, K.R.M., Müller, P.: Object invariants in dynamic contexts. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 491–515. Springer, Heidelberg (2004)Google Scholar
  11. 11.
    Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the small scope hypothesis (2002),
  12. 12.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Silva, J.P.M., Sakallah, K.A.: GRASP – A new search algorithm for satisfiability. In: 1996 IEEE/ACM international conference on Computer-aided design, pp. 220–227. IEEE Computer Society, Washington (1997)Google Scholar
  14. 14.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference, pp. 530–535 (2001)Google Scholar
  15. 15.
    Marques-Silva, J.: The impact of branching heuristics in propositional satisfiability algorithms. In: Barahona, P., Alferes, J.J. (eds.) EPIA 1999. LNCS (LNAI), vol. 1695, pp. 62–74. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  16. 16.
    Goldberg, E., Novikov, Y.: BerkMin: A fast and robust SAT-solver. Discrete Applied Mathematics 155(12), 1549–1561 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formulas. In: Proceedings of SAT, vol. 3 (2003)Google Scholar
  18. 18.
    Bruni, R., Sassano, A.: Restoring satisfiability or maintaining unsatisfiability by finding small unsatisfiable subformulae. ENDM 9, 162–173 (2001)Google Scholar
  19. 19.
    Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  20. 20.
    Galeotti, J.: Distributed sat-based analysis of object oriented code. In: Proceedings of Symposium on Automatic Program Verification (APV 2009), Rio Cuarto, Argentina, ETH Zurich (February 2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Nicolás D’Ippolito
    • 1
  • Marcelo F. Frias
    • 1
  • Juan P. Galeotti
    • 1
  • Esteban Lanzarotti
    • 1
  • Sergio Mera
    • 1
  1. 1.Departamento de ComputaciónUBAArgentina

Personalised recommendations