Bubaak: Dynamic Cooperative Verification
Contributors
Project member:
Description
Cooperative verification is gaining momentum in recent years. The usual setup in cooperative verification is that verifier A is run with some pre-defined resources, and if it is not able to verify the program, the verification task is passed to verifier B together with information learned about the program by the verifier A, then the chain can continue to verifier C, and so on. This scheme, which is employed by most of cooperative verification tools, is static and sequential: tools run one after another in a fixed pre-defined order and fixed parameters and resource limits.
Bubaak is a portfolio-based program analysis tool for verification of C programs that run multiple program verifiers in parallel and allows to exchange verification artifacts between them on run-time. Moreover, the new version of Bubaak allows to combine sequential and parallel portfolios into workflows. In brief, one or more verification tasks are initially started and each of the tasks, when it is done (e.g., because of hitting a time limit or finishing its job), can rewrite itself into a new task or generate a set of new verification tasks. This all happens dynamically based on the result of the task that finished.
This artifact contains Bubaak and Bubaak-SpLit (which is a specific configuration for Bubaak) that competed in SV-COMP 2024.
Files
bubaak.zip
Files
(54.0 MB)
Name | Size | Download all |
---|---|---|
md5:b7e98d4ce8fe08875a1bec9525e1ff87
|
54.0 MB | Preview Download |