Applying automated verification to industrial code bases creates a significant computational task even when the individual conditions to be checked are trivial. This affects the wall clock time taken to verify the program and has knock-on effects on how the tools are used and on project management. In this paper a simple and lightweight technique for adding incremental and distributed capabilities to a program verification system is given. Experiments with an implementation of the technique for the SPARK tool set show that it can yield an average 29 fold speed increase in incremental use and near optimal speedup in distributed use. Critically, this gives a qualitative change in how automated verification is used in a large commercial project.
|Title of host publication||Verified Software: Theories, Tools, Experiments|
|Place of Publication||Heidelberg|
|Number of pages||16|
|Publication status||Published - 2012|
|Name||Lecture Notes in Computer Science|