Cell morphing: from array programs to array-free Horn clauses

Abstract : Automatically verifying safety properties of programs is hard. Many approaches exist for verifying programs operating on Boolean and integer values (e.g. abstract interpretation, counterexample-guided abstraction refinement using interpolants), but transposing them to array properties has been fraught with difficulties. Our work addresses that issue with a powerful and flexible abstraction that morphes concrete array cells into a finite set of abstract ones. This abstraction is parametric both in precision and in the back-end analysis used. From our programs with arrays, we generate nonlinear Horn clauses over scalar variables only, in a common format with clear and unambiguous logical semantics, for which there exist several solvers. We thus avoid the use of solvers operating over arrays, which are still very immature. Experiments with our prototype VAPHOR show that this approach can prove automatically and without user annotations the functional correctness of several classical examples, including \emph{selection sort}, \emph{bubble sort}, \emph{insertion sort}, as well as examples from literature on array analysis.
Type de document :
Communication dans un congrès
Xavier Rival. 23rd Static Analysis Symposium (SAS 2016), Sep 2016, Edimbourg, United Kingdom. Static Analysis Symposium, Static Analysis Symposium. 〈http://staticanalysis.org/sas2016〉
Liste complète des métadonnées

Littérature citée [36 références]  Voir  Masquer  Télécharger

https://hal.archives-ouvertes.fr/hal-01206882
Contributeur : Laure Gonnord <>
Soumis le : samedi 13 août 2016 - 07:23:37
Dernière modification le : vendredi 6 juillet 2018 - 10:08:02
Document(s) archivé(s) le : lundi 14 novembre 2016 - 10:25:44

Fichiers

arrays_Horn_articleHAL.pdf
Fichiers produits par l'(les) auteur(s)

Licence


Copyright (Tous droits réservés)

Identifiants

  • HAL Id : hal-01206882, version 3
  • ARXIV : 1509.09092

Collections

Citation

David Monniaux, Laure Gonnord. Cell morphing: from array programs to array-free Horn clauses. Xavier Rival. 23rd Static Analysis Symposium (SAS 2016), Sep 2016, Edimbourg, United Kingdom. Static Analysis Symposium, Static Analysis Symposium. 〈http://staticanalysis.org/sas2016〉. 〈hal-01206882v3〉

Partager

Métriques

Consultations de la notice

597

Téléchargements de fichiers

443