Advertisement

Unbounded-Thread Program Verification using Thread-State Equations

  • Konstantinos AthanasiouEmail author
  • Peizun Liu
  • Thomas Wahl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9706)

Abstract

Infinite-state reachability problems arising from unbounded-thread program verification are of great practical importance, yet algorithmically hard. Despite the remarkable success of explicit-state exploration methods to solve such problems, there is a sense that SMT technology can be beneficial to speed up the decision making. This vision was pioneered in recent work by Esparza et al. on SMT-based coverability analysis of Petri nets. We present here an approximate coverability method that operates on thread-transition systems, a model naturally derived from predicate abstractions of multi-threaded programs. In addition to successfully proving uncoverability for all our safe benchmark programs, our approach extends previous work by the ability to decide the unsafety of many unsafe programs, and to provide a witness path. We also demonstrate experimentally that our method beats all leading explicit-state techniques on safe benchmarks and is competitive on unsafe ones, promising to be a very accurate and fast coverability analyzer.

References

  1. 1.
    Abdulla, P.A., Haziza, F., Holík, L.: All for the price of few (parameterized verification through view abstraction). In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 476–495. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  2. 2.
    Abdulla, P.A.: Well (and better) quasi-ordered transition systems. Bull. Symbolic Logic 16(4), 457–515 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Abdulla, P.A., Cerans, K., Jonsson, B., Tsay, Y.K.: General decidability theorems for infinite-state systems. In: LICS, pp. 313–321 (1996)Google Scholar
  4. 4.
    Cardoza, E., Lipton, R.J., Meyer, A.R.: Exponential space complete problems for petri nets and commutative semigroups: preliminary report. In: STOC, pp. 50–54 (1976)Google Scholar
  5. 5.
    Donaldson, A., Kaiser, A., Kroening, D., Wahl, T.: Symmetry-aware predicate abstraction for shared-variable concurrent programs. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 356–371. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  6. 6.
    Esparza, J., Ledesma-Garza, R., Majumdar, R., Meyer, P., Niksic, F.: An SMT-based approach to coverability analysis. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 603–619. Springer, Heidelberg (2014)Google Scholar
  7. 7.
    Esparza, J., Meyer, P.J.: An SMT-based approach to fair termination analysis. In: FMCAD, pp. 49–56 (2015)Google Scholar
  8. 8.
    Even, S.: Graph Algorithms. W. H. Freeman & Co., New York (1979)zbMATHGoogle Scholar
  9. 9.
    Finkel, A., Schnoebelen, P.: Well-structured transition systems everywhere!. Theor. Comput. Sci. 256(1–2), 63–92 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Ganty, P., Raskin, J.F., Van Begin, L.: From many places to few: automatic abstraction refinement for petri nets. Fundam. Inf. 88(3), 275–305 (2008)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Geeraerts, G., Raskin, J.F., Begin, L.V.: Expand, Enlarge and Check: New algorithms for the coverability problem of WSTS. J. Comput. Syst. Sci. 72(1), 180–203 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Geeraerts, G., Raskin, J.-F., Van Begin, L.: On the efficient computation of the minimal coverability set for petri nets. In: Namjoshi, K.S., Yoneda, T., Higashino, T., Okamura, Y. (eds.) ATVA 2007. LNCS, vol. 4762, pp. 98–113. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    German, S.M., Sistla, A.P.: Reasoning about systems with many processes. J. ACM 39(3), 675–735 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Hajdu, Á., Vörös, A., Bartha, T.: New search strategies for the petri net CEGAR approach. In: Devillers, R., Valmari, A. (eds.) PETRI NETS 2015. LNCS, vol. 9115, pp. 309–328. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  15. 15.
    Kaiser, A., Kroening, D., Wahl, T.: A widening approach to multithreaded program verification. ACM Trans. Program. Lang. Syst. 36(4), 14 (2014)CrossRefGoogle Scholar
  16. 16.
    Karp, R.M., Miller, R.E.: Parallel program schemata. J. Comput. Syst. Sci. 3(2), 147–195 (1969)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Kloos, J., Majumdar, R., Niksic, F., Piskac, R.: Incremental, inductive coverability. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 158–173. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  18. 18.
  19. 19.
    Liu, P., Wahl, T.: Infinite-state backward exploration of Boolean broadcast programs. In: FMCAD, pp. 155–162 (2014)Google Scholar
  20. 20.
    de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    Rackoff, C.: The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223–231 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Reynier, P.-A., Servais, F.: Minimal coverability set for petri nets: Karp and Miller algorithm with pruning. In: Kristensen, L.M., Petrucci, L. (eds.) PETRI NETS 2011. LNCS, vol. 6709, pp. 69–88. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  23. 23.
    Valmari, A., Hansen, H.: Old and new algorithms for minimal coverability sets. In: Haddad, S., Pomello, L. (eds.) PETRI NETS 2012. LNCS, vol. 7347, pp. 208–227. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  24. 24.
    Wimmel, H., Wolf, K.: Applying CEGAR to the petri net state equation. Log. Methods Comput. Sci. 8(3), 827–846 (2012)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Konstantinos Athanasiou
    • 1
    Email author
  • Peizun Liu
    • 1
  • Thomas Wahl
    • 1
  1. 1.Northeastern UniversityBostonUSA

Personalised recommendations