Project

General

Profile

Feature #7924

Reuse plugin results

Added by Evgeny Novikov over 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
*Abstract tasks generation
Target version:
Start date:
01/28/2017
Due date:
% Done:

0%

Estimated time:
Published in build:

Description

If the same plugins are invoked with the same input files and options they definitely will produce the same results. So AVTG can remember which results correspond to which input files and options and reuse them in case of correspondence.

This feature will allow to get rid of much useless work when the same modules are checked against several rules at once.

Taking into account #6608 it will be better to hold locks corresponding to the same input files and options to avoid obtaining the same results in parallel.


Related issues

Is duplicate of Klever - Feature #6746: Think on intermediate results reusingRejected02/03/2016

Actions

History

#1

Updated by Evgeny Novikov over 3 years ago

  • Assignee set to Ilja Zakharov

Let's do it together with #6608.

#2

Updated by Evgeny Novikov about 3 years ago

  • Target version set to 2.0
#3

Updated by Evgeny Novikov about 3 years ago

  • Target version changed from 2.0 to 0.2

This considerable Core refactoring is always completed and it would be better to have it in master ASAP while Klever 1.0 will be devoted to great conceptual improvements.

#4

Updated by Ilja Zakharov about 3 years ago

  • Status changed from New to Resolved

Implemented in the core-refactoring branch as a part of VTG and AVTG major refactoring.

#5

Updated by Evgeny Novikov about 3 years ago

  • Status changed from Resolved to Open
In general it looks to work, but I have two notes:
  • I had 1 verification object and 3 rule specifications with the same settings for SA and EMG. With 8 parallel verification task generators I observed that first a verification task for one pair object-rule was prepared and just after some period of time for the rest two pairs verification tasks were generated in parallel. Indeed the latter can be started immediately after SA and EMG finished.
  • Log files says nothing about plugin results fetched from a "cache" - there is just nothing about corresponding plugins there.
#6

Updated by Ilja Zakharov about 3 years ago

  • Status changed from Open to Resolved

Ok, now preparation of next tasks starts earlier.

Originally I implemented it for the more general case when I was not sure that only SA and EMG results should be reused. But as we hardcoded it now, I introduced the fix. Also, I have added several additional log messages.

#7

Updated by Evgeny Novikov about 3 years ago

Ilja Zakharov wrote:

Ok, now preparation of next tasks starts earlier.

Originally I implemented it for the more general case when I was not sure that only SA and EMG results should be reused. But as we hardcoded it now, I introduced the fix. Also, I have added several additional log messages.

Great, both issues disappeared.

#8

Updated by Evgeny Novikov about 3 years ago

  • Status changed from Resolved to Closed

I merged the branch to master in aec48ac1.

#9

Updated by Evgeny Novikov about 3 years ago

At last we do not generate the same environment model several times for different correctness rules.

Also available in: Atom PDF