IP Library Granted Patent US 8,589,898
Granted Patent B2
US 8,589,898 · App. 12/748,525 · Granted Nov 19, 2013

Method and apparatus for analyzing software including a calibrated value

Inventors: Srihari Sukumaran (Karnataka, IN); Ramesh Sethu (Bangalore, IN)
Assignee: GM Global Technology Operations LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,589,898
App. No.
12/748,525
Granted
Nov 19, 2013
Kind
B2
Abstract

A computer-implemented method for evaluating a machine-executable software code specification includes using the computer to generate a system dependence graph corresponding to the software code specification. The system dependence graph includes elements including nodes and edges. The computer evaluates the system dependence graph including selecting a variable modified in the software code specification, providing a control operation node of the system dependence graph corresponding to a control statement in the software code specification with a preferred calibration state, traversing to selected elements of the system dependence graph wherein the selected elements are associated with the selected variable and the preferred calibration state of the control operation node, evaluating only the selected elements of the system dependence graph, and identifying ones of the selected elements whereat a state of the selected variable is modified.

Claims (48)

1. A computer-implemented method for evaluating a machine-executable software code specification, comprising:

using the computer to generate a system dependence graph corresponding to the software code specification, the system dependence graph including elements comprising nodes and edges wherein the computer evaluates the system dependence graph, the evaluation of the system dependence graph comprising:

selecting a variable modified in the software code specification;

providing a control operation node of the system dependence graph corresponding to a control statement in the software code specification with a preferred calibration state;

traversing to selected elements of the system dependence graph, the selected elements associated with the selected variable and the preferred calibration state of the control operation node, wherein traversing to the selected elements of the system dependence graph includes tracing the selected variable from its starting point whereat the selected variable is modified and working in a reverse analysis fashion following selected nodes and selected edges until arriving at an initial point for the selected variable;

evaluating only the selected elements of the system dependence graph; and

identifying ones of the selected elements whereat a state of the selected variable is modified.

2. The method of claim 1 , further comprising identifying ones of the selected elements whereat a state of one of the selected variable and a related variable is modified.

3. The method of claim 1 , further comprising identifying ones of the selected elements whereat the related variable is used.

4. The method of claim 1 , wherein evaluating only the selected elements of the system dependence graph further comprises ignoring non-selected elements of the system dependence graph.

5. The method of claim 1 , wherein traversing to selected elements of the system dependence graph, the selected elements associated with the selected variable includes executing a dependence analysis to select the selected elements.

6. The method of claim 5 , wherein executing the dependence analysis to select the selected elements includes:

identifying each element comprising an edge as one of a data edge and a control edge; and

selecting the element comprising one of the data edge and the control edge.

7. The method of claim 5 , wherein executing the dependence analysis to select the selected elements includes:

identifying each element comprising an edge as one of a data edge and a control edge, and

selecting the element comprising both the data edge and the control edge.

8. The method of claim 5 , wherein executing the dependence analysis to select the selected elements includes:

identifying each element comprising a node as one of a continuing node and an end node, and

selecting the element comprising only the continuing node.

9. The method of claim 8 , further comprising ignoring the element comprising the end node.

10. The method of claim 5 , wherein executing the dependence analysis to select the selected elements includes:

identifying variables associated with each element comprising a node as one of a global variable and a local variable; and

selecting the element comprising the node comprising the global variable.

11. The method of claim 10 , further comprising passing over the element comprising the node comprising the local variable.

12. The method of claim 5 , wherein executing the dependence analysis to select the selected elements includes:

identifying an element comprising a node including a called procedure; and

selecting the element comprising the node including the called procedure only when the called procedure modifies the selected variable.

13. The method of claim 12 , further comprising passing over the element comprising the node including the called procedure when the called procedure does not modify the selected variable.

14. A computer-implemented method for statically evaluating a machine-executable software code specification for an embedded system, comprising:

using the computer to generate a system dependence graph corresponding to the software code specification, the system dependence graph including elements comprising nodes and edges, wherein one of the nodes comprises a control operation node corresponding to a control statement in the software code specification;

selecting a variable modified in the software code specification;

providing the control operation node with a preferred calibration state;

traversing to selected elements of the system dependence graph, the selected elements associated with the selected variable and the preferred calibration state of the control operation node, wherein traversing to the selected elements of the system dependence graph includes tracing the selected variable from its starting point whereat the selected variable is modified and working in a reverse analysis fashion following selected nodes and selected edges until arriving at an initial point for the selected variable;

evaluating only the selected elements of the system dependence graph to identify ones of the selected elements whereat a state of the selected variable is modified; and

generating a data output indicating the identified ones of the selected elements of the system dependence graph whereat the state of the selected variable is modified.

15. The method of claim 14 , further comprising identifying ones of the selected elements whereat a state of one of the selected variable and a related variable is modified.

16. The method of claim 14 , further comprising identifying ones of the selected elements whereat the related variable is used.

17. The method of claim 14 , wherein traversing to selected elements of the system dependence graph, the selected elements associated with the selected variable includes executing a dependence analysis to select the selected elements.

18. The method of claim 17 , wherein executing the dependence analysis to select the selected elements includes:

identifying each element comprising an edge as one of a data edge and a control edge; and

selecting the element comprising one of the data edge and the control edge.

19. The method of claim 17 , wherein executing the dependence analysis to select the selected elements includes:

identifying each element comprising a node as one of a continuing node and an end node; and

selecting the element comprising only the continuing node.

20. The method of claim 17 , wherein executing the dependence analysis to select the selected elements includes:

identifying variables associated with each element comprising a node as one of a global variable and a local variable; and

selecting the element comprising the node comprising the global variable.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2014
From: WILMINGTON TRUST COMPANY
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 034287/0001 →
CHANGE OF NAME Recorded Feb 10, 2011
From: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 025781/0333 →
SECURITY AGREEMENT Recorded Nov 8, 2010
From: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
To: WILMINGTON TRUST COMPANY
Reel/Frame 025327/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2010
From: SUKUMARAN, SRIHARI; SETHU, RAMESH
To: GM GLOBAL TECHNOLOGY OPERATIONS, INC.
Reel/Frame 024491/0804 →
Continuity (1)
Related Publication 20110239203A1 · Sep 29, 2011