Analyzing computer programs to identify errors
AssigneeGlobalfoundries Inc.
InventorKirk J. Krauss
Life of this patent
Estimating the term…
Abstract
A method of analyzing a computer program under test (CPUT) using a system comprising a processor and a memory can include performing, by the processor, static analysis upon the CPUT and runtime analysis upon at least a portion of the CPUT. A static analysis result and a runtime analysis result can be stored within the memory. Portions of the CPUT analyzed by static analysis and not by runtime analysis can be determined as candidate portions of the CPUT. The candidate portions of the CPUT can be output.
Claims18
A method of analyzing a computer program under test (CPUT) using a system including a processor and a memory, the method comprising:
- performing, by the processor, static analysis upon the CPUT and runtime analysis upon at least a portion of the CPUT;
- storing a static analysis result and a runtime analysis result in the memory;
- determining portions of the CPUT analyzed by static analysis and not by runtime analysis as candidate portions of the CPUT,
- wherein the determining includes limiting the candidate portions to only portions of the CPUT that include at least one error condition as determined by static analysis;
- and
- outputting the candidate portions of the CPUT.
A system comprising:
- a memory storing program code;
- a processor coupled to the memory and executing the program code, wherein the processor, by executing the program code, is configured to perform a method of analyzing a computer program under test (CPUT) including:
- performing static analysis upon the CPUT and runtime analysis upon at least a portion of the CPUT;
- storing a static analysis result and a runtime analysis result in the memory;
- determining portions of the CPUT analyzed by static analysis and not by runtime analysis as candidate portions of the CPUT,
- wherein the determining includes limiting the candidate portions to only portions of the CPUT that comprise at least one error condition as determined by static analysis;
- and
- outputting the candidate portions of the CPUT.
A computer program product for testing a computer program under test (CPUT) comprising:
- computer readable storage medium having computer readable program code stored thereon that, when executed by a system including a processor and a memory, causes the system to perform executable operations, the computer readable storage medium including:
- computer readable program code configured to perform static analysis upon the CPUT and runtime analysis upon at least a portion of the CPUT;
- computer readable program code configured to store a static analysis result and a runtime analysis result in the memory;
- computer readable program code configured to determine portions of the CPUT analyzed by static analysis and not by runtime analysis as candidate portions of the CPUT,
- wherein the computer readable program code configured to determine portions of the CPUT analyzed by static analysis and not by runtime analysis as candidate portions of the CPUT includes computer readable program code configured to limit the candidate portions to only portions of the CPUT that include at least one error condition as determined by the static analysis;
- and
- computer readable program code configured to output the candidate portions of the CPUT.
A method of analyzing a computer program under test (CPUT) using a system including a processor and a memory, the method comprising:
- performing, by the processor, instrumentation of the CPUT and concurrently performing static analysis upon the CPUT generating an instrumented CPUT;
- adding at least one data section to a module of the instrumented CPUT;
- storing a static analysis result within the added section of the instrumented CPUT within the memory;
- executing the instrumented CPUT performing runtime analysis upon at least a portion of the instrumented CPUT;
- determining portions of the CPUT analyzed by static analysis and not by runtime analysis as candidate portions of the CPUT,
- wherein the determining includes limiting the candidate portions to only portions of the CPUT that include at least one error condition as determined by static analysis;
- and
- outputting the candidate portions of the CPUT.
Dependencies are inferred from the claim text.