  Software verification has recently made enormous progress due to the
development of novel verification methods and the speed-up of supporting
technologies like SMT solving. To keep software verification tools up to date
with these advances, tool developers keep on integrating newly designed methods
into their tools, almost exclusively by re-implementing the method within their
own framework. While this allows for a conceptual re-use of methods, it
requires novel implementations for every new technique.
  In this paper, we employ cooperative verification in order to avoid
reimplementation and enable usage of novel tools as black-box components in
verification. Specifically, cooperation is employed for the core ingredient of
software verification which is invariant generation. Finding an adequate loop
invariant is key to the success of a verification run. Our framework named
CoVerCIG allows a master verification tool to delegate the task of invariant
generation to one or several specialized helper invariant generators. Their
results are then utilized within the verification run of the master verifier,
allowing in particular for crosschecking the validity of the invariant. We
experimentally evaluate our framework on an instance with two masters and three
different invariant generators using a number of benchmarks from SV-COMP 2020.
The experiments show that the use of CoVerCIG can increase the number of
correctly verified tasks without increasing the used resources
