The Cubicle Fuzzy Loop : A Fuzzing-Based Extension for the Cubicle Model Checker - Archive ouverte HAL
Pré-Publication, Document De Travail Année : 2023

The Cubicle Fuzzy Loop : A Fuzzing-Based Extension for the Cubicle Model Checker

Résumé

This paper presents the Cubicle Fuzzy Loop (CFL), a fuzzingbased extension for Cubicle, a model checker for parameterized systems. To prove safety, Cubicle generates invariants, making use of forward exploration strategies like BFS or DFS on finite model instances. However, these standard algorithms are quickly faced with the state explosion problem due to Cubicle's purely nondeterministic semantics. This causes them to struggle at discovering critical states, hindering invariant generation. CFL replaces this approach with a powerful DFS-like algorithm inspired by fuzzing. Cubicle's purely nondeterministic execution loop is modified to provide feedback on newly discovered states and visited transitions. This feedback is used by CFL to construct schedulers that guide the model exploration. Not only does this provide Cubicle with a bigger variety of states for generating invariants, it also quickly identifies unsafe models. As a bonus, it adds testing capabilities to Cubicle, such as the ability to detect deadlocks. Our first experiments have yielded promising results. CFL effectively allows Cubicle to generate crucial invariants, useful to handle hierarchical systems, while also being able to trap bad states and deadlocks in hardto-reach areas of such models.
Fichier principal
Vignette du fichier
main.pdf (824.2 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04394062 , version 1 (05-07-2023)
hal-04394062 , version 2 (11-03-2024)

Identifiants

  • HAL Id : hal-04394062 , version 1

Citer

Sylvain Conchon, Alexandrina Korneva. The Cubicle Fuzzy Loop : A Fuzzing-Based Extension for the Cubicle Model Checker. 2023. ⟨hal-04394062v1⟩
168 Consultations
87 Téléchargements

Partager

More