Advertisement

A Hybrid of Counterexample-Based and Proof-Based Abstraction

  • Nina Amla
  • Ken L. McMillan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3312)

Abstract

Counterexample- and proof-based refinement are complementary approaches to iterative abstraction. In the former case, a single abstract counterexample is eliminated by each refinement step, while in the latter case, all counterexamples of a given length are eliminated. In counterexample-based abstraction, the concretization and refinement problems are relatively easy, but the number of iterations tends to be large. Proof-based abstraction, on the other hand, puts a greater burden on the refinement step, which can then become the performance bottleneck. In this paper, we show that counterexample- and proof-based refinement are extremes of a continuum, and propose a hybrid approach that balances the cost and quality of refinement. In a study of a large number of industrial verification problems, we find that there is a strong relation between the effort applied in the refinement phase and the number of refinement iterations. For this reason, proof-based abstraction is substantially more efficient than counterexample-based abstraction. However, a judicious application of the hybrid approach can lessen the refinement effort without unduly increasing the number of iterations, yielding a method that is somewhat more robust overall.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Balarin, F., Sangiovanni-Vincentelli, A.: An iterative approach to language containment. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 29–40. Springer, Heidelberg (1993)Google Scholar
  2. 2.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, J.: Symbolic model checking: 1020 states and beyond. In: LICS (June 1990)Google Scholar
  3. 3.
    Chauhan, P., Clarke, E., Kukula, J., Sapra, S., Veith, H., Wang, D.: Automated abstraction refinement for model checking large state spaces using sat based conflict analysis. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Computer Aided Verification, pp. 154–169 (2000)Google Scholar
  5. 5.
    Clarke, E.M., Gupta, A., Kukula, J., Strichman, O.: SAT based abstractionrefinement using ILP and machine learning techniques. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 265. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Glusman, M., Kamhi, G., Mador-Haim, S., Fraer, R., Vardi, M.Y.: Multiplecounterexample guided iterative abstraction refinement. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 176–191. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Govindaraju, S.G., Dill, D.L.: Counterexample-Guided choice of projections in approximate symbolic model checking. In: ICCAD (2000)Google Scholar
  8. 8.
    Gupta, A., Ganai, M., Yang, Z., Ashar, P.: Iterative abstraction using sat-based bmc with proof analysis. In: ICCAD (2003)Google Scholar
  9. 9.
    Kupferman, O., Vardi, M.Y.: Model checking of safety properties. Formal Methods in System Design 19(3), 291–314 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Kurshan, R.P.: Computer-Aided-Verification of Coordinating Processes. Princeton University Press, Princeton (1994)Google Scholar
  11. 11.
    McMillan, K.L., Amla, N.: Automatic abstraction without counterexamples. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 2–17. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Moskewicz, M.W., Madigan, C.F.,, Y.Z.L.Z., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference, pp. 530–535 (2001)Google Scholar
  13. 13.
    Pnueli, A., Lichtenstein, O.: Checking that finite state concurrent programs satisfy their linear specification. In: POPL (1985)Google Scholar
  14. 14.
    Silva, J.P.M., Sakallah, K.A.: GRASP–a new search algorithm for satisfiability. In: ICCAD (1996)Google Scholar
  15. 15.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Logic in Computer Science (LICS 1986), pp. 322–331 (1986)Google Scholar
  16. 16.
    Wang, C., Li, B., Jin, H., Hachtel, G., Somenzi, F.: Improving ariadne’s bundle by following multiple threads in abstraction refinement. In: ICCAD (2003)Google Scholar
  17. 17.
    Wang, D., Ho, P., Long, J., Kukula, J.H., Zhu, Y., Tony Ma, H., Damiano, R.: Formal property verification by abstraction refinement with formal, simulation and hybrid engines. In: Design Automation Conference, pp. 35–40 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Nina Amla
    • 1
  • Ken L. McMillan
    • 1
  1. 1.Cadence Design Systems 

Personalised recommendations