Analysis of the effect of program execution of calling components with data variable checkpointing and resource allocation analysis
First Claim
1. A method for analyzing the effect of execution of a calling component of a computer program on an item of the calling component, the method comprising:
- determining that the calling component includes a call to a called component, of which the item is an external; and
determining, from a component model which describes effects of execution of the called component on one or more externals of the called component, the effect of execution of the called component on the item, said component model specifying operations applied to said one or more externals and corresponding state changes produced in said one or more externals, wherein said component model automatically analyzes each possible control flow path through said called componentwherein determining the effect of execution of the called component on the item includes;
determining whether the item is checked for validity before being used by the called component;
determining whether the called component allocates and frees the item; and
determining a state of a resource associated with the item.
2 Assignments
0 Petitions
Accused Products
Abstract
An error detection mechanism for detecting programming errors in a computer program. A component of the computer program, e.g., a procedure or function of the computer program, is analyzed to determine the effect of the component on resources used by the computer program. A component is analyzed by traversing the computer instructions, i.e., statements, of the component and tracking the state of resources used by the component as affected by the statements of the component. Each resource has a prescribed behavior represented by a number of states and transition between states. Violations in the prescribed behavior of a resource resulting from an emulated execution of the statements of the component are detected and reported as programming errors. Resources used by two or more components are modelled by modelling externals of the components. The effect of execution of a component on externals and resources of the component is determined by traversing one or more possible control flow paths through the component and tracking the use of each external and resource by each statement of each control flow path. Once the effect of execution of a component on externals and resources of the component is determined, a model of the component is created and used to model externals and resources of other components which invoke the modelled component.
131 Citations
5 Claims
-
1. A method for analyzing the effect of execution of a calling component of a computer program on an item of the calling component, the method comprising:
-
determining that the calling component includes a call to a called component, of which the item is an external; and determining, from a component model which describes effects of execution of the called component on one or more externals of the called component, the effect of execution of the called component on the item, said component model specifying operations applied to said one or more externals and corresponding state changes produced in said one or more externals, wherein said component model automatically analyzes each possible control flow path through said called component wherein determining the effect of execution of the called component on the item includes; determining whether the item is checked for validity before being used by the called component; determining whether the called component allocates and frees the item; and determining a state of a resource associated with the item. - View Dependent Claims (2, 3, 4, 5)
-
Specification