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 received comparatively little attention. In this paper, we consider the problem of bounded model-checking 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.

Mechanized metatheory model-checking / J. Cheney, A. Momigliano - In: PPDP '07 : proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming : Wroclaw, Poland, July 14-16, 2007 / [a cura di] A. Podelski. - New York : Association for computing machinery, 2007. - ISBN 9781595937698. - pp. 75-86 (( Intervento presentato al 9. convegno International Conference on Principles and Practice of Declarative Programming tenutosi a Wroclaw, Poland nel 2007 [10.1145/1273920.1273931].

Mechanized metatheory model-checking

A. Momigliano
Ultimo
2007

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 received comparatively little attention. In this paper, we consider the problem of bounded model-checking 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.
Counterexample search; Model checking; Nominal logic
Settore INF/01 - Informatica
Settore MAT/01 - Logica Matematica
2007
ACM SIGPLAN
Book Part (author)
File in questo prodotto:
File Dimensione Formato  
p75-cheney.pdf

accesso aperto

Tipologia: Publisher's version/PDF
Dimensione 272.03 kB
Formato Adobe PDF
272.03 kB Adobe PDF Visualizza/Apri
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: https://hdl.handle.net/2434/38312
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 11
  • ???jsp.display-item.citation.isi??? ND
social impact