Zing: A Model Checker for Concurrent Software

  • Tony Andrews
  • Shaz Qadeer
  • Sriram K. Rajamani
  • Jakob Rehof
  • Yichen Xie
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3114)


The zing project is an effort to build a flexible and scalable model checking infrastructure for concurrent software. The project is divided into four components: (1) a modeling language for expressing concurrent models of software systems, (2) a compiler for translating a zing model into an executable representation of its transition relation, (3) a model checker for exploring the state space of the zing model, and (4) model generators that automatically extract zing models from programs written in common programming languages.


  1. 1.
    Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: A model checker for concurrent software. Technical report, Microsoft Research (2004)Google Scholar
  2. 2.
    Ball, T., Rajamani, S.K.: The SLAM project: Debugging system software via static analysis. In: POPL 2002: Principles of Programming Languages, January 2002, pp. 1–3. ACM, New York (2002)Google Scholar
  3. 3.
    Broder, A.: Some applications of Rabin’s fingerprinting method. In: Sequences II: Methods in Communications, Security, and Computer Science, pp. 143–152 (1993)Google Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  5. 5.
    Dwyer, M., Hatcliff, J., Joehanes, R., Laubach, S., Pasareanu, C.: Tool-supported program abstraction for finite-state verification. In: ICSE 2001: International Conference on Software Engineering, pp. 177–187. ACM, New York (2001)CrossRefGoogle Scholar
  6. 6.
    Flanagan, C., Qadeer, S.: Transactions for software model checking. In: SoftMC 2003: Software Model Checking Workshop (2003)Google Scholar
  7. 7.
    Fournet, C., Hoare, C.A.R., Rajamani, S.K., Rehof, J.: Stuck-free conformance. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 242–254. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  9. 9.
    Holzmann, G.: The model checker spin. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Holzmann, G.J.: Logic verification of ANSI-C code with Spin. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 131–147. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    Iosif, R., Sisto, R.: dSPIN: A dynamic extension of SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 261–276. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Lipton, R.J.: Reduction: A method of proving properties of parallel programs. Communications of the ACM 18(12), 717–721 (1975)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Qadeer, S., Rajamani, S.K., Rehof, J.: Summarizing procedures in concurrent programs. In: POPL 2004: ACM Principles of Programming Languages, pp. 245–255. ACM, New York (2004)Google Scholar
  14. 14.
    Rajamani, S.K., Rehof, J.: Conformance checking for models of asynchronous message passing software. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 166–179. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Robby, M.D., Hatclif, J.: Bogor: An extensible and highly-modular model checking framework. In: FSE 2003: Foundations of Software Engineering, pp. 267–276. ACM, New York (2003)Google Scholar
  16. 16.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  17. 17.
    Stoller, S.D.: Model-checking multi-threaded distributed Java programs. International Journal on Software Tools for Technology Transfer 4(1), 71–91 (2002)CrossRefGoogle Scholar
  18. 18.
    Visser, W., Havelund, K., Brat, G., Park, S.: Model checking programs. In: ICASE 2000: Automated Software Engineering, pp. 3–12 (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Tony Andrews
    • 1
  • Shaz Qadeer
    • 1
  • Sriram K. Rajamani
    • 1
  • Jakob Rehof
    • 1
  • Yichen Xie
    • 2
  1. 1.Microsoft Research 
  2. 2.Stanford University 

Personalised recommendations