Cooperative software verification aims at improving the effectiveness and efficiency of software verification by enabling multiple verification tools to work together. Existing cooperative verification schemes, however, typically require specialized interfaces or tight integration, limiting their practical applicability. In our International Conference on Software Engineering (ICSE) 2025 publication, we introduce dynamic program splitting – a novel approach that enables cooperation between off-the-shelf verification tools without requiring any modifications. The key idea is to probe verification tools on a given verification task under a time limit and split tasks dynamically that cannot be verified under the given time constraints. The process continues recursively, incrementally identifying program parts that are particularly hard for the given verifier. The remaining unverified parts are provided to a second verifier, allowing to leverage the complementary strengths of different tools. Our evaluation on SV-COMP benchmarks demonstrates that cooperation through dynamic program splitting enables the verification of tasks that none of the individual verifiers can solve on their own.
Richter et al. (Thu,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: