Back to results
US 9,436,586 B1Granted
Determining code coverage on Z/OS® server
AssigneeCA, Inc.
InventorsScott A. Fagen, Lawrence Backman
Life of this patent
Estimating the term…
Abstract
In determining code coverage, execution data indicative of portions of a program that have been executed for testing is received. The program is analyzed based on the execution data and a control flow for the program. Based on the analysis, it is determined that additional portions of the program, which are not indicated by the execution data, have also been executed. Related methods, systems, and computer program products are also discussed.
Claims25
A method, comprising:
- receiving execution data and program mapping data, wherein the execution data is indicative of portions of programs that have been previously executed for testing and comprise previously-executed instructions, wherein the testing comprises test cases that specify execution of the portions of the programs, wherein the execution data does not identify the programs corresponding to the previously-executed instructions, and wherein the program mapping data identifies one of the programs corresponding to one of the previously-executed instructions;
- selecting the one of the programs identified by the program mapping data from among the programs;
- receiving code indicative of a control flow for the one of the programs;
- analyzing the control flow for the one of the programs to identify relative locations in the control flow corresponding to the portions of the one of the programs and determine an ordering of the one of the previously-executed instructions in the control flow, responsive to the execution of the portions of the programs specified by the test cases;
- and
- inferring that additional portions of the one of the programs, which comprise additional instructions and are not indicated by the execution data and are not specified by the test cases, have been previously executed in the testing based on the ordering of the previously-executed instructions relative to the additional instructions in the control flow, wherein the inferring is performed without updating the test cases to specify execution of the additional portions of the one of the programs responsive to the analyzing, and
- wherein the receiving, the selecting, the analyzing, and the inferring comprise operations performed by a processor.
4 more elements
A computer program product, comprising:
- a computer readable storage medium having computer readable program code embodied in the medium that, when executed by a processor, causes the processor to perform operations comprising:
- receiving execution data and program mapping data, wherein the execution data is indicative of portions of programs that have been previously executed for testing and comprise previously-executed instructions, wherein the testing comprises test cases that specify execution of the portions of the programs, wherein the execution data does not identify the programs corresponding to the previously-executed instructions, and wherein the program mapping data identifies one of the programs corresponding to one of the previously-executed instructions;
- selecting the one of the programs identified by the program mapping data from among the programs;
- receiving code indicative of a control flow for the one of the programs;
- analyzing the control flow for the one of the programs to identify relative locations in the control flow corresponding to the portions of the one of the programs and determine an ordering of the one of the previously-executed instructions in the control flow, responsive to the execution of the portions of the programs specified by the test cases;
- and
- inferring that additional portions of the one of the programs, which comprise additional instructions and are not indicated by the execution data and are not specified by the test cases, have been previously executed in the testing based on the ordering of the previously-executed instructions relative to the additional instructions in the control flow and without updating the test cases to specify execution of the additional portions of the one of the programs responsive to the analysis.
4 more elements
A computer system, comprising:
- a processor;
- and
- a memory coupled to the processor, the memory comprising computer readable program code embodied therein that, when executed by the processor, causes the processor to:
- receive execution data and program mapping data, wherein the execution data is indicative of portions of a program that have been previously executed for testing and comprise previously-executed instructions, wherein the testing comprises test cases that specify execution of the portions of the programs, wherein the execution data does not identify the programs corresponding to the previously-executed instructions, and wherein the program mapping data identifies one of the programs corresponding to one of the previously-executed instructions:
- select the one of the programs identified by the program mapping data from among the programs;
- receive code indicative of a control flow for the one of the programs;
- analyze the control flow for the one of the programs to identify relative locations in the control flow corresponding to the portions of the one of the programs and determine an ordering of the one of the previously-executed instructions in the control flow, responsive to the execution of the portions of the programs specified by the test cases;
- and
- infer that additional portions of the one of the programs, which comprise additional instructions and are not indicated by the execution data and are not specified by the test cases, have been previously executed in the testing based on the ordering of the previously-executed instructions relative to the additional instructions in the control flow and without updating the test cases to specify execution of the additional portions of the one of the programs responsive to the analysis.
6 more elements
Dependencies are inferred from the claim text.