Published November 24, 2023 | Version 0.9.3.1
Software Open

Bubaak: Dynamic Cooperative Verification

  • 1. ROR icon Institute of Science and Technology Austria

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 (55.9 MB)

Name Size Download all
md5:f235474a090607edf192e0ca4ad872ee
55.9 MB Preview Download