Nitpick: A Counterexample Generator for Higher-Order Logic Based on a Relational Model Finder

  • Jasmin Christian Blanchette
  • Tobias Nipkow
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6172)

Abstract

Nitpick is a counterexample generator for Isabelle/HOL that builds on Kodkod, a SAT-based first-order relational model finder. Nitpick supports unbounded quantification, (co)inductive predicates and datatypes, and (co)recursive functions. Fundamentally a finite model finder, it approximates infinite types by finite subsets. As case studies, we consider a security type system and a hotel key card system. Our experimental results on Isabelle theories and the TPTP library indicate that Nitpick generates more counterexamples than other model finders for higher-order logic, without restrictions on the form of the formulas to falsify.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andrews, P.B., Bishop, M., Issar, S., Nesmith, D., Pfenning, F., Xi, H.: TPS: A theorem-proving system for classical type theory. J. Auto. Reas. 16(3), 321–353 (1996)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Bell, J.M., Bellegarde, F., Hook, J.: Type-driven defunctionalization. ACM SIGPLAN Notices 32(8), 25–37 (1997)CrossRefGoogle Scholar
  3. 3.
    Benzmüller, C., Paulson, L., Theiss, F., Fietzke, A.: Progress report on LEO-II, an automatic theorem prover for higher-order logic. In: Schneider, K., Brandt, J. (eds.) TPHOLs: Emerging Trends. C.S. Dept., University of Kaiserslautern, Internal Report 364/07 (2007)Google Scholar
  4. 4.
    Berghofer, S., Nipkow, T.: Random testing in Isabelle/HOL. In: Cuellar, J., Liu, Z. (eds.) SEFM 2004, pp. 230–239. IEEE C.S., Los Alamitos (2004)Google Scholar
  5. 5.
    Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Blanchette, J.C., Krauss, A.: Monotonicity inference for higher-order formulas. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, Springer, Heidelberg (to appear, 2010)Google Scholar
  7. 7.
    Bulwahn, L., Krauss, A., Nipkow, T.: Finding lexicographic orders for termination proofs in Isabelle/HOL. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 38–53. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Claessen, K., Sörensson, N.: New techniques that improve MACE-style model finding. In: MODEL (2003)Google Scholar
  9. 9.
    de Medeiros Santos, A.L.: Compilation by Transformation in Non-Strict Functional Languages. Ph.D. thesis, C.S. Dept., University of Glasgow (1995)Google Scholar
  10. 10.
    Dunets, A., Schellhorn, G., Reif, W.: Bounded relational analysis of free datatypes. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 99–115. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Frias, M.F., Pombo, C.G.L., Moscato, M.M.: Alloy Analyzer + PVS in the analysis and verification of Alloy specifications. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 587–601. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)MATHGoogle Scholar
  13. 13.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  14. 14.
    Kuncak, V., Jackson, D.: Relational analysis of algebraic datatypes. In: Gall, H.C. (ed.) ESEC/FSE 2005 (2005)Google Scholar
  15. 15.
    McCune, W.: A Davis–Putnam program and its application to finite first-order model search: Quasigroup existence problems. Technical report, ANL (1994)Google Scholar
  16. 16.
    Nipkow, T.: Verifying a hotel key card system. In: Barkaoui, K., Cavalcanti, A., Cerone, A. (eds.) ICTAC 2006. LNCS, vol. 4281, pp. 1–14. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  18. 18.
    Schumann, J.M.: Automated Theorem Proving in Software Engineering. Springer, Heidelberg (2001)Google Scholar
  19. 19.
    Snelting, G., Wasserrab, D.: A correctness proof for the Volpano/Smith security typing system. In: Klein, G., Nipkow, T., Paulson, L.C. (eds.) AFP (September 2008)Google Scholar
  20. 20.
    Sutcliffe, G., Suttner, C.: The TPTP problem library for automated theorem proving, http://www.cs.miami.edu/~tptp/
  21. 21.
    Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Volpano, D., Smith, G., Irvine, C.: A sound type system for secure flow analysis. J. Comp. Sec. 4(3), 167–187 (1996)Google Scholar
  23. 23.
    Weber, T.: SAT-Based Finite Model Generation for Higher-Order Logic. Ph.D. thesis, Dept. of Informatics, T.U. München (2008)Google Scholar
  24. 24.
    Zhang, J., Zhang, H.: SEM: A system for enumerating models. In: Kaufmann, M. (ed.) IJCAI 95, vol. 1, pp. 298–303 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jasmin Christian Blanchette
    • 1
  • Tobias Nipkow
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGermany

Personalised recommendations