Sequential generation of structured arrays and its deductive verification

Richard Genestier 1 Alain Giorgetti 2, 1 Guillaume Petiot 1, 3
2 CASSIS - Combination of approaches to the security of infinite states systems
FEMTO-ST - Franche-Comté Électronique Mécanique, Thermique et Optique - Sciences et Technologies (UMR 6174), Inria Nancy - Grand Est, LORIA - FM - Department of Formal Methods
3 LSL - Laboratoire Sûreté des Logiciels
DILS - Département Ingénierie Logiciels et Systèmes : DRT/LIST/DILS
Abstract : A structured array is an array satisfying given constraints, such as being sorted or having no duplicate values. Generation of all arrays with a given structure up to some given length has many applications, including bounded exhaustive testing. A sequential generator of structured arrays can be defined by two C functions: the first one computes an initial array, and the second one steps from one array to the next one according to some total order on the set of arrays. We formally specify with ACSL annotations that the generated arrays satisfy the prescribed structural constraints (soundness property) and that the generation is in increasing lexicographic order (progress property). We refine this specification into two programming and specification patterns: one for generation in lexicographic order and one for generation by filtering the output of another generator. We distribute a library of generators instantiating these patterns. After adding suitable loop invariants we automatically prove the soundness and progress properties with the Frama-C platform.
Complete list of metadatas

Cited literature [21 references]  Display  Hide  Download
Contributor : Jean-Michel Caricand <>
Submitted on : Monday, November 16, 2015 - 9:18:22 AM
Last modification on : Thursday, February 7, 2019 - 4:48:33 PM
Long-term archiving on : Friday, April 28, 2017 - 3:35:30 PM


Files produced by the author(s)


  • HAL Id : hal-01228995, version 1


Richard Genestier, Alain Giorgetti, Guillaume Petiot. Sequential generation of structured arrays and its deductive verification. TAP 2015, 9th Int. Conf. of Tests and Proofs, 2015, L'Aquila, Italy. pp.109--128. ⟨hal-01228995⟩



Record views


Files downloads