L'arithmétique de séparation - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2023

L'arithmétique de séparation

Abstract

Nous, praticiens de la preuve de programmes, souhaitons que le processus de la vérification soit le plus automatique possible. Les meilleurs outils pour cela sont à l'heure actuelle les démonstrateurs SMT, qui combinent notamment la logique du premier ordre et l'arithmétique linéaire. Par opposition, le raisonnement inductif n'est pas un point fort des démonstrateurs automatiques. Or, les programmes utilisant des pointeurs le font souvent pour manipuler des structures récursives : listes, arbres, etc. Dans cet article, nous décrivons une approche qui permet d'amener la preuve de programmes avec pointeurs à la portée des démonstrateurs automatiques. L'idée consiste à projeter une structure récursive sur un domaine numérique, de sorte que les propriétés de possession et de séparation deviennent exprimables en terme de simples inégalités arithmétiques. En plus de simplifier la preuve, cela permet une spécification claire et naturelle. On illustre cette approche avec l'exemple classique du renversement en place d'une liste simplement chaînée.
Fichier principal
Vignette du fichier
main.pdf (413.96 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03886759 , version 1 (06-12-2022)
hal-03886759 , version 2 (04-01-2023)

Identifiers

  • HAL Id : hal-03886759 , version 2

Cite

Jean-Christophe Filliâtre, Andrei Paskevich. L'arithmétique de séparation. JFLA 2023 - 34èmes Journées Francophones des Langages Applicatifs, Jan 2023, Praz-sur-Arly, France. pp.274-283. ⟨hal-03886759v2⟩
133 View
163 Download

Share

Gmail Facebook X LinkedIn More