MoonWalker: Verification of .NET Programs

  • Niels H. M. Aan de Brugh
  • Viet Yen Nguyen
  • Theo C. Ruys
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5505)


MoonWalker is a software model checker for cil bytecode programs, which is able to detect deadlocks and assertion violations in cil assemblies, better known as Microsoft .NET programs. The design of MoonWalker is inspired by the Java PathFinder (jpf), a model checker for Java programs. The performance of MoonWalker is on par with jpf. This paper presents the new version of MoonWalker and discusses its most important features.


  1. 1.
    Aan de Brugh, N.H.M.: Software Model Checking for Mono. Master’s thesis, University of Twente, Enschede, The Netherlands (August 2006)Google Scholar
  2. 2.
    Artho, C., Schuppan, V., Biere, A., Eugster, P., Baur, M., Zweimüller, B.: JNuke: Efficient Dynamic Analysis for Java. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 462–465. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Fargas, P.: Garbage Collection for JNuke. Master’s thesis, ETH Zürich, Switzerland (September 2004)Google Scholar
  4. 4.
    Flanagan, C., Godefroid, P.: Dynamic Partial-Order Reduction for Model Checking Software. In: Proc. of POPL 2005, pp. 110–121. ACM Press, New York (2005)Google Scholar
  5. 5.
    Grieskamp, W., Tillmann, N., Schulte, W.: XRT: Exploring Runtime for. NET - Architecture and Applications. ENTCS 144(3), 3–26 (2006); Proc. of SoftMC 2005Google Scholar
  6. 6.
    Iosif, R., Sisto, R.: Using Garbage Collection in Model Checking. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 20–33. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  7. 7.
    Nguyen, V.Y.: Optimising Techniques for Model Checkers. Master’s thesis, University of Twente, Enschede, The Netherlands (December 2007)Google Scholar
  8. 8.
    Nguyen, V.Y., Ruys, T.C.: Memoised Garbage Collection for Software Model Checking. In: Knowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 201–214. Springer, Heidelberg (2009)Google Scholar
  9. 9.
    Ramalingam, G., Reps, T.W.: An Incremental Algorithm for a Generalization of the Shortest-Path Problem. Journal Algorithms 21(2), 267–305 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Ranganath, V.P., Hatcliff, J., Robby.: Enabling Efficient Partial Order Reductions for Model Checking Object-Oriented Programs. Technical Report SAnToS-TR2007-2, SAnToS Laboratory, CIS Department, Kansas State University (2007)Google Scholar
  11. 11.
    Ruys, T.C., Aan de Brugh, N.H.M.: MMC: the Mono Model Checker. ENTCS 190(1), 149–160 (2007); Proc. of Bytecode 2007, Braga, PortugalGoogle Scholar
  12. 12.
    Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. ASE 10(2), 203–232 (2003)Google Scholar
  13. 13.
    Yi, X., Wang, J., Yang, X.: Stateful Dynamic Partial-Order Reduction. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 149–167. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    The Java Grande Forum Benchmark Suite,
  15. 15.
  16. 16.
    The Mono Project,
  17. 17.
  18. 18.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Niels H. M. Aan de Brugh
    • 1
  • Viet Yen Nguyen
    • 2
  • Theo C. Ruys
    • 3
  1. 1.OCÉ, VenloThe Netherlands
  2. 2.RWTH Aachen UniversityGermany
  3. 3.University of TwenteThe Netherlands

Personalised recommendations