Meta-F*: Proof automation with SMT, Tactics, and Metaprograms - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2019

Meta-F*: Proof automation with SMT, Tactics, and Metaprograms

Résumé

We introduce Meta-F⋆, a tactics and metaprogramming framework for the F⋆ program verifier. The main novelty of Meta-F⋆ is allowing the use of tactics and metaprogramming to discharge assertions not solvable by SMT, or to just simplify them into well-behaved SMT fragments. Plus, Meta-F⋆ can be used to generate verified code automatically. Meta-F⋆ is implemented as an F⋆ effect, which, given the powerful effect system of F⋆, heavily increases code reuse and even enables the lightweight verification of metaprograms. Metaprograms can be either interpreted, or compiled to efficient native code that can be dynamically loaded into the F⋆ type-checker and can interoperate with interpreted code. Evaluation on realistic case studies shows that Meta-F⋆ provides substantial gains in proof development, efficiency, and robustness.

Dates et versions

hal-01995376 , version 1 (26-01-2019)

Identifiants

Citer

Guido Martínez, Danel Ahman, Victor Dumitrescu, Nick Giannarakis, Chris Hawblitzel, et al.. Meta-F*: Proof automation with SMT, Tactics, and Metaprograms. ESOP'19 - European Symposium on Programming, Apr 2019, Prague, Czech Republic. ⟨10.1007/978-3-030-17184-1_2⟩. ⟨hal-01995376⟩
87 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More