Deductive Verification of Sparse Sets in Why3
Résumé
To represent finite sets of integers on an interval 0..n, Briggs and Torczon studied a very simple data structure in 1993, called sparse sets. With this representation, initialization, membership test, insertion and deletion of an element are O(1) operations. This data structure is often used in compilers to allocate registers or to represent the objects in a video game. A variant of this data structure is also used in finite domain constraint solvers to represent the domains of integer variables. This variant makes it a backtrackable data structure. We have formalized and verified the original data structure and its variant in Why3. Set operations such as intersection and union are formally verified, even though they are less commonly used with this representation of sets. To our knowledge this is the first formal verification of the backtrackable variant of sparse sets used as domains.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|