← Back to Patent Explorer
US6408430B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Interactive software testing system and method

Assignee: Alcatel Lucent SAS
•
Filing: 1998-09-03
•
Granted: 2002-06-18
•
Expires: 2018-09-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for visualizing and testing a sequence of a software code that includes instructions relating to assignment of variables, and decision branches. The method comprises the steps of generating a plurality of nodes, edges and text indications that correspond to the instructions in the software code. A plurality of pointers are then generated to associate the location of at least one line of the software code to at least one of the generated nodes. The pointers may also associate the location of a line in the software code to at least one of the generated edges. The method then displays a flow chart representing the generated nodes, and edges and text indications, so that the software code can be visualized. When a user selects a node or an edge in the displayed flow chart, a corresponding portion of the software code is also identified. In accordance with another embodiment, a portion of the software code defining an execution path is selected, and the system then calculates the logically most general condition for the possible execution of the selected path. In accordance with other embodiments, the path may be selected by a user, who highlights the nodes and/or edges along the displayed flow chart to calculate the conditions that allow the execution of the selected path, or by the system and the results of condition calculations are then presented to the user.

Inventors

  • 👤 Elsa L. Gunter
  • 👤 Doron A. Peled

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 10:28
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698; G06F11/3668; G06F11/3672; G06F11/3688

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 133 words
A method for visualizing a sequence of a software code including instructions relating to assignment of variables, and decision branches, the method comprising the steps of: generating a plurality of nodes, edges and text indications corresponding to said assignment and decision instructions; generating a plurality of pointers associating the location of at least one line of said software code to at least one of said nodes and edges; displaying on a first portion of a display screen a flow chart representing said nodes, edges and text indications corresponding to said assignment decision instructions; and displaying on a second portion of said display screen said software code by displaying said assignment and decision instructions and their corresponding text indications wherein displayed portions of said software code correspond to displayed portions of said flow chart.
Claim 2
Independent Claim 133 words
A method for visualizing a sequence of a software code including instructions relating to assignment of variables, and decision branches, the method comprising the steps of: generating a plurality of nodes, edges and text indications corresponding to said assignment and decision instructions; generating a plurality of pointers associating the location of at least one line of said software code to at least one of said nodes and edges; displaying on a first portion of a display screen a flow chart representing said nodes, edges and text indications corresponding to said assignment decision instructions; and displaying on a second portion of said display screen said software code by displaying said assignment and decision instructions and their corresponding text indications wherein displayed portions of said software code correspond to displayed portions of said flow chart.
Claim 3
Dependent Claim 31 words
The method in accordance with claim 1 further comprising the step of identifying a portion of said software code corresponding to at least one node selected in said displayed flow chart.
Claim 4
Dependent Claim 42 words
The method in accordance with claim 2 further comprising the step of displaying said software code on a display unit and said step of identifying further comprises the step of highlighting said portion of said software code corresponding to the selected node.
Claim 5
Dependent Claim 35 words
The method in accordance with claim 3 , wherein said steps of displaying further comprises the step of displaying said flow chart and said text code respectively within corresponding windows displayed on a display screen.
Claim 6
Dependent Claim 24 words
The method in accordance with claim 4 further comprising the step of selecting a plurality of nodes so as to define an execution path.
Claim 7
Dependent Claim 23 words
The method in accordance with claim 5 further comprising the step of computing a set of conditions necessary to execute a selected path.
Claim 8
Dependent Claim 17 words
The method in accordance with claim 6 further comprising the step of simplifying said set of conditions.
Claim 9
Independent Claim 112 words
A method for testing a software code including instructions relating to assignment of variables, and decisions branches, the method comprising the steps of: generating an array of nodes and edges information representing constructs of said software code; selecting a portion of said nodes and edges to define a selected path; computing a set of conditions necessary to execute said selected path, such that said conditions express all possible assignments of said variables ensuring execution of said selected path, starting from first node selected; and analyzing said nodes and edges in reverse order from the last selected node or edge to the first selected node and assigning an initial condition current_predicate as “true.”
Claim 10
Independent Claim 112 words
A method for testing a software code including instructions relating to assignment of variables, and decisions branches, the method comprising the steps of: generating an array of nodes and edges information representing constructs of said software code; selecting a portion of said nodes and edges to define a selected path; computing a set of conditions necessary to execute said selected path, such that said conditions express all possible assignments of said variables ensuring execution of said selected path, starting from first node selected; and analyzing said nodes and edges in reverse order from the last selected node or edge to the first selected node and assigning an initial condition current_predicate as “true.”
Claim 11
Dependent Claim 24 words
The method in accordance with claim 8 further comprising the step of determining the type of transition of each node that is being analyzed.
Claim 12
Dependent Claim 32 words
The method in accordance with claim 9 further comprising the step of concatenating a condition of a decision node to said current_predicate when a “YES” branch of said decision node is selected.
Claim 13
Dependent Claim 35 words
The method in accordance with claim 9 further comprising the step of concatenating an inverse of a condition of a decision node to said current_predicate when a “NO” branch of said decision node is selected.
Claim 14
Dependent Claim 26 words
The method in accordance with claim 9 further comprising the step of substituting said current_predicate with an expression assigned to a variable in an assignment node.
Claim 15
Dependent Claim 30 words
The method in accordance with claim 9 further comprising the step of concatenating condition of a wait node to said current_predicate when said wait node has a selected successor node.
Claim 16
Dependent Claim 30 words
The method in accordance with claim 8 , further comprises the steps of displaying on a display screen a flow chart and text code corresponding to said nodes and edges.
Claim 17
Dependent Claim 30 words
The method in accordance with claim 14 further comprising the step of selecting a plurality of nodes and edges on said flow chart so as to define said selected path.
Claim 18
Independent Claim 141 words
A method for testing at least two concurrent software codes sharing at least one variable comprising the steps of: displaying each of said software codes on a portion of a display unit designated for display of said software codes; displaying on separate portions of said display unit flow charts each corresponding to one of said software codes including nodes, edges and text indications, said flow charts providing a visualization of said software codes so as to select a variable portion of said displayed flow chart; generating a plurality of pointers associating the location of at least one line of each one of the software codes to at least one of said corresponding nodes and edges; and highlighting a portion of each one of said displayed software codes corresponding to one of said nodes and edges selected in said displayed flow charts.
Claim 19
Independent Claim 141 words
A method for testing at least two concurrent software codes sharing at least one variable comprising the steps of: displaying each of said software codes on a portion of a display unit designated for display of said software codes; displaying on separate portions of said display unit flow charts each corresponding to one of said software codes including nodes, edges and text indications, said flow charts providing a visualization of said software codes so as to select a variable portion of said displayed flow chart; generating a plurality of pointers associating the location of at least one line of each one of the software codes to at least one of said corresponding nodes and edges; and highlighting a portion of each one of said displayed software codes corresponding to one of said nodes and edges selected in said displayed flow charts.
Claim 20
Dependent Claim 35 words
The method in accordance with claim 16 , wherein said steps of displaying further comprises the step of displaying said flow charts and said text codes respectively within corresponding windows displayed on a display screen.
Claim 21
Dependent Claim 35 words
The method in accordance with claim 17 further comprising the step of selecting a plurality of nodes and edges in an interleaved arrangement between the displayed flow charts so as to define an execution path.
Claim 22
Dependent Claim 24 words
The method in accordance with claim 18 further comprising the step of computing a set of conditions necessary to execute said selected execution path.
Claim 23
Dependent Claim 17 words
The method in accordance with claim 19 further comprising the step of simplifying said set of conditions.
Claim 24
Dependent Claim 49 words
The method in accordance with claim 20 wherein said computing step further comprises the step of determining conditions necessary to execute the last node contained in said selected path and updating said conditions by sequentially determining the conditions necessary to execute prior selected nodes contained in said selected path.

References Cited (Backward Citations)

US5048018A Cited
US5860009A Cited
US5956479A Cited
US5905856A Cited
US5956511A Cited
US5889999A Cited
US5907706A Cited
US6243857B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-06-17 2005-12-17 2006-06-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-06-17 2009-12-17 2010-06-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-06-17 2013-12-17 2014-06-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag