The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual problem of searching for errors in such formalizations has attracted comparatively little attention. In this article, we present αCheck, a bounded model checker for metatheoretic properties of formal systems specified using nominal logic. In contrast to the current state of the art for metatheory verification, our approach is fully automatic, does not require expertise in theorem proving on the part of the user, and produces counterexamples in the case that a flaw is detected. We present two implementations of this technique, one based on negation-as-failure and one based on negation elimination, along with experimental results showing that these techniques are fast enough to be used interactively to debug systems as they are developed.

alphaCheck : A mechanized metatheory model checker / J. Cheney, A. Momigliano. - In: THEORY AND PRACTICE OF LOGIC PROGRAMMING. - ISSN 1475-3081. - 17:3(2017 May 22), pp. 311-352.

alphaCheck : A mechanized metatheory model checker

A. Momigliano
Secondo
2017-05-22

Abstract

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual problem of searching for errors in such formalizations has attracted comparatively little attention. In this article, we present αCheck, a bounded model checker for metatheoretic properties of formal systems specified using nominal logic. In contrast to the current state of the art for metatheory verification, our approach is fully automatic, does not require expertise in theorem proving on the part of the user, and produces counterexamples in the case that a flaw is detected. We present two implementations of this technique, one based on negation-as-failure and one based on negation elimination, along with experimental results showing that these techniques are fast enough to be used interactively to debug systems as they are developed.
nominal logic; model checking; counterexample search; negation elimination
Settore INF/01 - Informatica
Settore MAT/01 - Logica Matematica
Article (author)
File in questo prodotto:
File Dimensione Formato  
tplp.pdf

accesso aperto

Tipologia: Pre-print (manoscritto inviato all'editore)
Dimensione 435.48 kB
Formato Adobe PDF
435.48 kB Adobe PDF Visualizza/Apri
check-a-mechanized-metatheory-model-checker-.pdf

accesso riservato

Tipologia: Publisher's version/PDF
Dimensione 985.07 kB
Formato Adobe PDF
985.07 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
Pubblicazioni consigliate

Caricamento pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: http://hdl.handle.net/2434/500864
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 13
  • ???jsp.display-item.citation.isi??? 4
social impact