Patent US5933640A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5933640A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for analyzing and presenting test execution flows of programs

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1997-02-26
•
Granted: 1999-08-03
•
Expires: 2017-02-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer implemented method analyzes an execution of a program. The method partitions the program into program components such as basic blocks and procedures. A source or executable representation of the program is instrumented to collect test coverage data. In addition, a flow graph representing the program components is generated. The program is then executed to collect test coverage data. Using the test coverage data and the flow graph, the program is partitioned into executed and unexecuted components. The number of instructions in each unexecuted program component is counted. Thus, a list of the unexecuted program components can be presented according to a decreasing order of the number of unexecuted instructions in the unexecuted program components.

Inventors

  • 👤 Jeremy Dion

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 02:32
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3668; G06F11/3672; G06F11/3676; G06F8/00; G06F8/40; G06F8/41; G06F8/43; G06F8/433

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 84 words
A computer implemented method for analyzing test coverage data of a program in a computer, comprising the steps of: generating a flowgraph representing program components of the program and possible execution flows through the program components; collecting test coverage data while executing the program; determining executed and unexecuted program components on the flowgraph using the collected test coverage data; and presenting a list of unexecuted program components according to a decreasing order of a number of unexecuted instructions reachable from each unexecuted program component.
Claim 2
Dependent Claim 84 words
A computer implemented method for analyzing test coverage data of a program in a computer, comprising the steps of: generating a flowgraph representing program components of the program and possible execution flows through the program components; collecting test coverage data while executing the program; determining executed and unexecuted program components on the flowgraph using the collected test coverage data; and presenting a list of unexecuted program components according to a decreasing order of a number of unexecuted instructions reachable from each unexecuted program component.
Claim 3
Dependent Claim 41 words
The method of claim 1 wherein the step of presenting further comprises the steps of: selecting unexecuted destination points from among the unexecuted program components; and counting the number of unexecuted instructions reachable from each of the selected unexecuted destination points.
Claim 4
Dependent Claim 20 words
The method of claim 2 further comprising: selecting first unexecuted destination points that are targets of executed flow control instructions.
Claim 5
Dependent Claim 19 words
The method of claim 2 further comprising: selecting second unexecuted destination points that are targets of indirect procedure calls.
Claim 6
Dependent Claim 19 words
The method of claim 2 further comprising: selecting third unexecuted destination points that are unreachable by any program component.
Claim 7
Dependent Claim 15 words
The method of claim 1 further comprising: instrumenting a source code representation of the program.
Claim 8
Dependent Claim 15 words
The method of claim 1 further comprising: instrumenting a machine executable code representation the program.
Claim 9
Dependent Claim 14 words
The method of claim 1 further comprising: generating a complete graph of the program.
Claim 10
Dependent Claim 14 words
The method of claim 1 further comprising: generating a partial graph of the program.
Claim 11
Dependent Claim 64 words
The method of claim 1 further comprising: identifying flow control instructions in the program which are decision points, the flow control instructions that can dynamically alter the execution flow to multiple destination points; adding calls to the program at each possible destination point, the calls to divert the execution flow to monitoring routine for recording test coverage data in a memory of the computer.
Claim 12
Dependent Claim 21 words
The method of claim 10 further comprising: linking the monitoring routine to the program when the program is loaded for execution.
Claim 13
Dependent Claim 32 words
The method of claim 1 wherein the graph includes one node for each program component to be represented, and edges of the graph indicate possible execution flows between directly called program components.
Claim 14
Dependent Claim 33 words
The method of claim 12 further comprising: beginning at a particular unexecuted destination point, traversing all edges of the graph linking unexecuted program components while counting until another executed program component is reached.
Claim 15
Dependent Claim 18 words
The method of claim 12 further comprising: coloring nodes of the graph to indicate the unexecuted program components.
Claim 16
Dependent Claim 14 words
The method of claim 1 wherein the program components are basic blocks and procedures.

References Cited (Backward Citations)

US5050168A Cited
US5313616A Cited
US5507030A Cited
US5539907A Cited
US5732273A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-02 2003-02-01 2003-08-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-02 2007-02-01 2007-08-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-02 2011-02-01 2011-08-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag