Dynamic and intelligent partial computation management for efficient parallelization of software analysis in a distributed computing environment
AssigneeFujitsu Limited
InventorsIndradeep Ghosh, Mukul Ranjan Prasad
Life of this patent
Estimating the term…
Abstract
A method for verifying software includes determining the result of a bounding function, and using the result of the bounding function to apply one or more policies to the execution of the received job. The bounding function evaluates the execution of a received job, the received job indicating a portion of software to be verified. The result of the bounding function is based upon the present execution of the received job, one or more historical parameters, and an evaluation of the number of idle nodes available to process other jobs.
Claims16
A method for verifying software, comprising:
- determining a result of a bounding function, the bounding function evaluating the execution of a received job, the received job indicating a portion of software to be verified, wherein:
- the bounding function comprises calculating a sum of weighted factors wherein the weights may be positive or negative, the factors including:
- the depth of a decision tree representing the software verification of the received job;
- the duration of time that the received job has been executing;
- the number of decision nodes present in a tree representing the software verification of the received job;
- the average time spent on a verification path in a decision tree representing the software verification of the received job;
- and
- the average depth of a verification path in a decision tree representing the software verification of the received job;
- using the result of the bounding function to apply one or more policies to the execution of the received job;
- and
- evaluating the result of the bounding function against a job availability policy, the job availability policy indicating whether new jobs will be created for unexplored branches, the unexplored branches discovered while executing the received job, the job availability policy further indicating that the new jobs will be created when the result of the bounding function exceeds a job availability threshold;
- wherein the result of the bounding function is based upon the present execution of the received job, one or more historical parameters, and an evaluation of the number of idle nodes available to process other jobs.
An article of manufacture comprising:
- a non-transitory computer readable medium;
- and
- computer-executable instructions carried on the non-transitory computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to:
- determine a result of a bounding function, the bounding function evaluating the execution of a received job, the received job indicating a portion of software to be verified, wherein:
- the bounding function comprises calculating a sum of weighted factors wherein the weights may be positive or negative, the factors including:
- the depth of a decision tree representing the software verification of the received job;
- the duration of time that the received job has been executing;
- the number of decision nodes present in a tree representing the software verification of the received job;
- the average time spent on a verification path in a decision tree representing the software verification of the received job;
- and
- the average depth of a verification path in a decision tree representing the software verification of the received job;
- use the result of the bounding function to apply one or more policies to the execution of the received job;
- and
- evaluate the result of the bounding function against a job availability policy, the job availability policy indicating whether new jobs will be created for unexplored branches, the unexplored branches discovered while executing the received job, the job availability policy further indicating that the new jobs will be created when the result of the bounding function exceeds a job availability threshold;
- wherein the result of the bounding function is based upon the present execution of the received job, one or more historical parameters, and an evaluation of the number of idle nodes available to process other lobs.
Dependencies are inferred from the claim text.