Advertisement

Abstract

We consider łY-calculus as a non-interpreted functional programming language: the result of the execution of a program is its normal form that can be seen as the tree of calls to built-in operations. Weak monadic second-order logic (wMSO) is well suited to express properties of such trees. We give a type system for ensuring that the result of the execution of a λY-program satisfies a given wMSO property. In order to prove soundness and completeness of the system we construct a denotational semantics of λY-calculus that is capable of computing properties expressed in wMSO.

Keywords

Model Check Type System Complete Lattice Functional Program Tree Automaton 
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.

References

  1. 1.
    Abramsky, S.: Domain theory in logical form. Ann. Pure Appl. Logic 51(1-2), 1–77 (1991)CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Aehlig, K.: A finite semantics of simply-typed lambda terms for infinite runs of automata. Logical Methods in Computer Science 3(1), 1–23 (2007)MathSciNetGoogle Scholar
  3. 3.
    Amadio, R.M., Curien, P.-L.: Domains and Lambda-Calculi. Cambridge Tracts in Theoretical Computer Science, vol. 46. Cambridge University Press (1998)Google Scholar
  4. 4.
    Barendregt, H., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type assignment. J. Symb. Log. 4, 931–940 (1983)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Bloom, S.L., Ésik, Z.: Iteration Theories: The Equational Logic of Iterative Processes. EATCS Monographs in Theoretical Computer Science. Springer (1993)Google Scholar
  6. 6.
    Bloom, S.L., Ésik, Z.: Fixed-point operations on CCC’s. part I. Theoretical Computer Science 155, 1–38 (1996)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Blumensath, A.: An algebraic proof of Rabin’s tree theorem. Theor. Comput. Sci. 478, 1–21 (2013)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Broadbent, C., Carayol, A., Ong, L., Serre, O.: Recursion schemes and logical reflection. In: LICS, pp. 120–129 (2010)Google Scholar
  9. 9.
    Broadbent, C.H., Carayol, A., Hague, M., Serre, O.: C-shore: a collapsible approach to higher-order verification. In: ICFP, pp. 13–24. ACM (2013)Google Scholar
  10. 10.
    Broadbent, C.H., Kobayashi, N.: Saturation-based model checking of higher-order recursion schemes. In: CSL. LIPIcs, vol. 23, pp. 129–148. Schloss Dagstuhl (2013)Google Scholar
  11. 11.
    Chen, W., Hofmann, M.: Buchi abstraction. In: LICS (2014) (to appear)Google Scholar
  12. 12.
    Grabowski, R., Hofmann, M., Li, K.: Type-based enforcement of secure programming guidelines — code injection prevention at SAP. In: Barthe, G., Datta, A., Etalle, S. (eds.) FAST 2011. LNCS, vol. 7140, pp. 182–197. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Haddad, A.: Model checking and functional program transformations. In: FSTTCS. LIPIcs, vol. 24, pp. 115–126 (2013)Google Scholar
  14. 14.
    Hague, M., Murawski, A.S., Ong, C.-H.L., Serre, O.: Collapsible pushdown automata and recursion schemes. In: LICS, pp. 452–461. IEEE Computer Society (2008)Google Scholar
  15. 15.
    Jeffrey, A.S.A.: LTL types FRP: Linear-time Temporal Logic propositions as types, proofs as functional reactive programs. In: ACM Workshop Programming Languages meets Program Verification (2012)Google Scholar
  16. 16.
    Jeffrey, A.S.A.: Functional reactive types. In: LICS (2014) (to appear)Google Scholar
  17. 17.
    Kobayashi, N.: Types and higher-order recursion schemes for verification of higher-order programs. In: POPL, pp. 416–428 (2009)Google Scholar
  18. 18.
    Kobayashi, N.: Model checking higher-order programs. J. ACM 60(3), 20–89 (2013)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Kobayashi, N., Ong, L.: A type system equivalent to modal mu-calculus model checking of recursion schemes. In: LICS, pp. 179–188 (2009)Google Scholar
  20. 20.
    Kobayashi, N., Tabuchi, N., Unno, H.: Higher-order multi-parameter tree transducers and recursion schemes for program verification. In: POPL, pp. 495–508 (2010)Google Scholar
  21. 21.
    Naik, M., Palsberg, J.: A type system equivalent to a model checker. ACM Trans. Program. Lang. Syst. 30(5) (2008)Google Scholar
  22. 22.
    Nielson, F., Riis Nielson, H.: Type and effect systems. In: Olderog, E.-R., Steffen, B. (eds.) Correct System Design. LNCS, vol. 1710, pp. 114–136. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  23. 23.
    Ong, C.-H.L.: On model-checking trees generated by higher-order recursion schemes. In: LICS, pp. 81–90 (2006)Google Scholar
  24. 24.
    Ong, C.-H.L., Ramsay, S.: Verifying higher-order programs with pattern-matching algebraic data types. In: POPL, pp. 587–598 (2011)Google Scholar
  25. 25.
    Rabin, M.O.: Decidability of second-order theories and automata on infinite trees. Transactions of the AMS 141, 1–23 (1969)zbMATHMathSciNetGoogle Scholar
  26. 26.
    Ramsay, S.J., Neatherway, R.P., Ong, C.-H.L.: A type-directed abstraction refinement approach to higher-order model checking. In: POPL, pp. 61–72. ACM (2014)Google Scholar
  27. 27.
    Salvati, S., Walukiewicz, I.: Krivine machines and higher-order schemes. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011, Part II. LNCS, vol. 6756, pp. 162–173. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  28. 28.
    Salvati, S., Walukiewicz, I.: Evaluation is MSOL-compatible. In: FSTTCS. LIPIcs, vol. 24, pp. 103–114 (2013)Google Scholar
  29. 29.
    Salvati, S., Walukiewicz, I.: Using models to model-check recursive schemes. In: Hasegawa, M. (ed.) TLCA 2013. LNCS, vol. 7941, pp. 189–204. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  30. 30.
    Salvati, S., Walukiewicz, I.: Typing weak MSOL properties (2014), https://hal.archives-ouvertes.fr/hal-01061202
  31. 31.
    Terui, K.: Semantic evaluation, intersection types and complexity of simply typed lambda calculus. In: RTA. LIPIcs, vol. 15, pp. 323–338. Schloss Dagstuhl (2012)Google Scholar
  32. 32.
    Tobita, Y., Tsukada, T., Kobayashi, N.: Exact flow analysis by higher-order model checking. In: Schrijvers, T., Thiemann, P. (eds.) FLOPS 2012. LNCS, vol. 7294, pp. 275–289. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  33. 33.
    Tsukada, T., Ong, C.-H.L.: Compositional higher-order model checking via ω-regular games over Böhm trees. In: LICS (to appear, 2014)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Sylvain Salvati
    • 1
  • Igor Walukiewicz
    • 1
  1. 1.CNRS, Université de Bordeaux, INRIAPessacFrance

Personalised recommendations