Feature #8646

Optimize total coverage calculation

Added by Evgeny Novikov about 2 years ago. Updated over 1 year ago.

Results processing
Target version:
Start date:
Due date:
% Done:


Estimated time:
Published in build:


It turned out that calculation of total coverage needs too much memory when a lot of modules are verified against even a single rule specification (several hundreds of MB). For several rule specification it will be a disaster.

I suggest to calculate total coverage independently for each rule specification checked. Moreover it will be great to merge coverage for individual verification tasks step by step rather than to do it at the end of verification. In that way it won't be needed to keep all individual coverages in memory which is obviously absolutely inefficient.



Updated by Evgeny Novikov over 1 year ago

  • Target version changed from 2.0 to 1.1
  • Assignee changed from Alexey Polushkin to Ilja Zakharov

This issue is not strictly bound with purposes of 2.0 that targets verification of C software.


Updated by Ilja Zakharov over 1 year ago

  • Status changed from New to Resolved

Implemented in 8646-optimized-coverage.


Updated by Evgeny Novikov over 1 year ago

  • Status changed from Resolved to Open

Please, merge latest master to that branch - there are non-trivial conflicts.


Updated by Evgeny Novikov over 1 year ago

  • Status changed from Open to Closed

I merged master to the branch and tested it. Our tests don't show noticeable differences in consumed computational resources related with coverage calculation. But for large scale verification one will feel the difference. Indeed, Ilja got rid of linear dependency of computational resources on the number of checked rule specifications. So, now Klever will not fail when checking many rule specifications due to lack of memory at the end of work.

I merged the branch to master in 40fd1a68d.

Also available in: Atom PDF