Heuristic-Guided Abstraction Refinement for Concurrent Systems

  • Nils Timm
  • Heike Wehrheim
  • Mike Czech
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7635)


Predicate abstraction is an established technique in software verification. It inherently includes an abstraction refinement loop successively adding predicates until the right level of abstraction is found. For concurrent systems, predicate abstraction can be combined with spotlight abstraction, further reducing the state space by abstracting away certain processes. Refinement then has to decide whether to add a new predicate or a new process. Selecting the right predicates and processes is a crucial task: The positive effect of abstraction may be compromised by unfavourable refinement decisions. Here we present a heuristic approach to abstraction refinement. The basis for a decision is a set of refinement candidates, derived by multiple counterexample-generation. Candidates are evaluated with respect to their influence on other components in the system. Experimental results show that our technique can significantly speed up verification as compared to a naive abstraction refinement.


Model Check Concurrent System Kripke Structure Predicate Abstraction Weak Precondition 
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.
    Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic predicate abstraction of c programs. SIGPLAN Not. 36(5), 203–213 (2001)CrossRefGoogle Scholar
  2. 2.
    Ball, T., Podelski, A., Rajamani, S.K.: Relative Completeness of Abstraction Refinement for Software Model Checking. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 158–172. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM TPLS 8, 244–263 (1986)zbMATHCrossRefGoogle Scholar
  4. 4.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-Guided Abstraction Refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Clarke, E.M., Jha, S., Enders, R., Filkorn, T.: Exploiting symmetry in temporal logic model checking. Formal Methods in System Design 9(1/2), 77–104 (1996)CrossRefGoogle Scholar
  6. 6.
    Edelkamp, S., Jabbar, S.: Large-Scale Directed Model Checking LTL. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 1–18. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Fecher, H., Shoham, S.: Local abstraction-refinement for the mu-calculus. STTT 13(4), 289–306 (2011)CrossRefGoogle Scholar
  8. 8.
    Fitting, M.: Kleene’s three valued logics and their children. Fundamenta Informaticae 20(1-3), 113–131 (1994)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Glusman, M., Kamhi, G., Mador-Haim, S., Fraer, R., Vardi, M.Y.: Multiple-Counterexample Guided Iterative Abstraction Refinement: An Industrial Evaluation. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 176–191. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    He, F., Song, X., Gu, M., Sun, J.: Heuristic-guided abstraction refinement. Comput. J. 52(3), 280–287 (2009)CrossRefGoogle Scholar
  11. 11.
    Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: POPL 2004, pp. 232–244. ACM, New York (2004)CrossRefGoogle Scholar
  12. 12.
    Hoffmann, J., Smaus, J.-G., Rybalchenko, A., Kupferschmid, S., Podelski, A.: Using Predicate Abstraction to Generate Heuristic Functions in UPPAAL. In: Edelkamp, S., Lomuscio, A. (eds.) MoChart IV. LNCS (LNAI), vol. 4428, pp. 51–66. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Ip, C.N., Dill, D.L.: Better verification through symmetry. Formal Methods in System Design 9(1/2), 41–75 (1996)Google Scholar
  14. 14.
    Schrieb, J., Wehrheim, H., Wonisch, D.: Three-Valued Spotlight Abstractions. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 106–122. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Shoham, S., Grumberg, O.: 3-valued abstraction: More precision at less cost. Inf. Comput. 206, 1313–1333 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Tan, J., Avrunin, G., Clarke, L.: Heuristic-based model refinement for flavers. In: ICSE 2004, pp. 635–644 (2004)Google Scholar
  17. 17.
    Timm, N., Wehrheim, H.: On Symmetries and Spotlights – Verifying Parameterised Systems. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 534–548. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  18. 18.
    Wachter, B., Westphal, B.: The Spotlight Principle. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 182–198. Springer, Heidelberg (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Nils Timm
    • 1
  • Heike Wehrheim
    • 1
  • Mike Czech
    • 1
  1. 1.Department of Computer ScienceUniversity of PaderbornGermany

Personalised recommendations