A traditional counterexample to a linear-time safety property shows the values of all signals at all times prior to the error. However, some signals may not be critical to causing the failure. A succinct explanation may help human understanding as well as speed up algorithms that have to analyze many such traces. In Bounded Model Checking (BMC), a counterexample is constructed from a satisfying assignment to a Boolean formula, typically in CNF. Modern SAT solvers usually assign values to all variables when the input formula is satisfiable. Deriving minimal satisfying assignments from such complete assignments does not lead to concise explanations of counterexamples because of how CNF formulae are derived from the models. Hence, we formulate the extraction of a succinct counterexample as the problem of finding a minimal assignment that, together with the Boolean formula describing the model, implies an objective. We present a two-stage algorithm for this problem, such that the result of each stage contributes to identify the “interesting” events that cause the failure. We demonstrate the effectiveness of our approach with an example and with experimental results.


Conjunctive Normal Form Boolean Formula Satisfying Assignment Partial Assignment Unit 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.


  1. 1.
    Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  2. 2.
    Brayton, R.K., et al.: VIS:Asystem for verification and synthesis. Technical Report UCB/ERL M95/104, Electronics Research Lab, Univ. of California (December 1995)Google Scholar
  3. 3.
    Brayton, R.K., Somenzi, F.: An exact minimizer for Boolean relations. In: Proceedings of the IEEE International Conference on Computer Aided Design, Santa Clara, CA, November 1989, pp. 316–319 (1989)Google Scholar
  4. 4.
    Clarke, E., Gupta, A., Kukula, J., Strichman, O.: SAT based abstraction-refinement using ILP and machine learning. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 265–279. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5, 394–397 (1962)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the Association for Computing Machinery 7(3), 201–215 (1960)zbMATHMathSciNetGoogle Scholar
  7. 7.
    Goldberg, E., Novikov, Y.: BerkMin:A fast and robust SAT-solver. In: Proceedings of the Conference on Design, Automation and Test in Europe, Paris, France, March 2002, pp. 142–149 (2002)Google Scholar
  8. 8.
    Jin, H., Ravi, K., Somenzi, F.: Fate and free will in error traces. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 445–459. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    McMillan, K.L.: Applying SAT methods in unbounded symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 250–264. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Moskewicz, M., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the Design Automation Conference, Las Vegas, NV, June 2001, pp. 530–535 (2001)Google Scholar
  11. 11.
    Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley, New York (1988)zbMATHGoogle Scholar
  12. 12.
    Silva, J.P.M., Sakallah, K.A.: Grasp—a new search algorithm for satisfiability. In: Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, November 1996, pp. 220–227 (1996)Google Scholar
  13. 13.
    Wang, C., Li, B., Jin, H., Hachtel, G.D., Somenzi, F.: Improving Ariadne’s bundle by following multiple threads in abstraction refinement. In: Proceedings of the International Conference on Computer-Aided Design, November 2003, pp. 408–415 (2003)Google Scholar
  14. 14.
    Zhang, H.: SATO: An efficient propositional prover. In: McCune, W. (ed.) CADE 1997. LNCS (LNAI), vol. 1249, pp. 272–275. Springer, Heidelberg (1997)Google Scholar
  15. 15.
    Zhang, L., Malik, S.: The quest for efficient Boolean satisfiability solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 17–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Kavita Ravi
    • 1
  • Fabio Somenzi
    • 2
  1. 1.Cadence Design Systems 
  2. 2.University of Colorado at Boulder 

Personalised recommendations