arrow
Return

Model-Based Testing of an Intermediate Verifier Using Executable Operational Semantics

delete2026-01-01
delete0
PRE
AI
L
L Losavio
M
Marco Paganoni *
C
Carlo A. Furia
DOI:10.1007/978-3-032-10794-7_20delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Lightweight validation technique, such as those based on random testing, are sometimes practical alternatives to full formal verification-providing valuable benefits, such as finding bugs, without requiring a disproportionate effort. In fact, such validation techniques can be useful even for fully formally verified tools, by exercising the parts of a complex system that go beyond the reach of formal models. In this context, this paper introduces bcc: a model-based testing technique for the Boogie intermediate verifier. bcc combines the formalization of a small, deterministic subset of the Boogie language with the generative capabilities of the plt Redex language engineering framework. Basically, bcc uses plt Redex to generate random Boogie programs, and to execute them according to a formal operational semantics; then, it runs the same programs through the Boogie verifier. Any inconsistency between the two executions (in plt Redex and with Boogie) may indicate a potential bug in Boogies implementation. To understand whether bcc can be useful in practice, we used it to generate three million Boogie programs. These experiments found 2% of cases indicative of completeness failures (i.e., spurious verification failures) in Boogies toolchain. These results indicate that lightweight analysis tools, such as those for model-based random testing, are also useful to test and validate formal verification tools such as Boogie.
Keywords:
FORMAL VERIFICATION

Journal

I
INTEGRATED FORMAL METHODS, IFM 2025
IF:
0
Papers:
23
Citations:
0

Organization

U
Universita della Svizzera Italiana
Scholars:
3.3K
Papers: 2.8K
Citations: 3
Cited Papers

Cited Papers

Why3 — Where Programs Meet Provers
err2013-01-01
err0
errOAAI
errJean-Christophe Filliâtre; Andrei Paskevich
errShare
errSave
A Certified Multi-prover Verification Condition Generator
err2012-01-01
err0
PREAI
errHerms,Paolo; Marché,Claude; Monate,Benjamin
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
errShare
errSave
CakeML
err2014-01-08
err0
PREAI
errRamana Kumar; Magnus O. Myreen; Michael Norrish; Scott Owens
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
Identifying Overly Restrictive Matching Patterns in SMT-Based Program Verifiers
err2021-01-01
err0
PREAI
errBugariu,Alexandra; Ter-Gabrielyan,Arshavir; Müller,Peter
errShare
errSave
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier
err2023-04-06
err0
PREAI
errLin,Zhengyao; Chen,Xiaohong; Trinh,Minh-Thai; Wang,John; Roşu,Grigore
errShare
errSave
researcher View more