Program certification by higher-order model checking

  • Authors:
  • Naoki Kobayashi

  • Affiliations:
  • The University of Tokyo, Japan

  • Venue:
  • CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model checking of higher-order recursion schemes or (collapsible) higher-order pushdown automata (higher-order model checking, for short) is a generalization of finite state and pushdown model checking, which has been extensively studied in the last decade [1-11, 15-17]. Higher-order recursion schemes are essentially terms of the simply-typed (λ)-calculus with recursion and tree constructors; therefore, they serve as good models for higher-order functional programs. Indeed, various verification problems for higher-order functional programs can be easily reduced to higher-order model checking, and automated verification tools have been developed based on the reduction [9, 12-14, 18]. In the talk, I will first provide a brief introduction to higher-order model checking and its applications to higher-order program verification. I will then discuss higher-order model checking from the viewpoint of certificates. In particular, I plan to discuss the following questions: (i) How can we certify the result of program verification based on higher-order model checking? (ii) Why does higher-order model checking work at all, despite its extremely high worst-case complexity?