Towards random and enumerative testing for OCaml and WhyML properties - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Software Quality Journal Année : 2022

Towards random and enumerative testing for OCaml and WhyML properties

Résumé

Deductive program verification greatly improves software quality, but proving formal specifications is difficult, and this activity can only be partially automated. It is therefore relevant to supplement deductive verification tools, such as Why3, with the ability to test the properties to be verified. We present a methodological study and a prototype for the random and enumerative testing of properties written either in the Why3 input language WhyML or in the OCaml programming language used by Why3 to run programs written in WhyML. An originality is that we propose enumerative testing based on data generators themselves written in WhyML and formally verified with Why3. Another specificity is that the development effort is reduced by exploiting Why3’s extraction mechanism to OCaml and an existing random testing tool for OCaml. These design choices are applied in a prototypal implementation of a tool, called AutoCheck. The prototype and the paper are designed with simplicity and usability in mind, in order to make them accessible to the widest audience. Starting from the most elementary cases, a tutorial illustrates the implemented features with many examples presented in increasing complexity order.
Fichier principal
Vignette du fichier
22e285fe-4e83-46bb-9cf0-556d88f7c2a5-author.pdf (344.34 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03722048 , version 1 (13-07-2022)

Identifiants

Citer

Clotilde Erard, Jérome Ricciardi, Alain Giorgetti. Towards random and enumerative testing for OCaml and WhyML properties. Software Quality Journal, 2022, 30 (1), pp.253 - 279. ⟨10.1007/s11219-021-09572-z⟩. ⟨hal-03722048⟩
18 Consultations
87 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More