US5838975AExpiredUtility

Method for testing and debugging computer programs

Priority: Apr 19, 1994Filed: Apr 18, 1995Granted: Nov 17, 1998
Est. expiryApr 19, 2014(expired)· nominal 20-yr term from priority
G06F 11/3692G06F 11/3612G06F 11/3636
59
PatentIndex Score
56
Cited by
8
References
14
Claims

Abstract

A computerized method of testing and debugging an executable behaviorally unknown computer program by dynamic comparison with an executable behaviorally known computer program. The method controls execution of each program and compares related variable values at selected breakpoints in each program. If the variable values are equal within a certain error range the method continues execution of each program. If there is a significant difference between the variable values the method reports a fault and allows the option of terminating or continuing the method.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. A computerized method for dynamically testing and debugging an executable behaviorally unknown computer program in an environment including: a first computer, said first computer having at least a central processing unit, dynamic memory and a display apparatus;   a second computer, said second computer having at least a central processing unit and dynamic memory; and   communications apparatus linking said first computer to said second computer so that said first computer can communicate with said second computer;   the invented method including the steps of: (i) said first computer executing at least one instruction of an executable behaviorally known computer program until a break point is reached;   (ii) said first computer calculating at least one variable value at said break point;   (iii) said second computer executing at least one instruction of an executable behaviorally unknown program until a break point is reached;   (iv) said second computer calculating at least one related variable value at said break point;   (v) said first computer ascertaining said variable values calculated by said second computer in step (iv) by use of said communications apparatus;   (vi) said first computer determining the difference between said variable values of step (ii) and step (iv).     
     
     
       2. The method according to claim 1 further including the step of continuing execution of said behaviorally known computer program and said behaviorally unknown computer program until the next break point is reached. 
     
     
       3. The method according to claim 1 further including the step of halting execution of said behaviorally known computer program and said behaviorally unknown computer program if said at least one difference between said variable values exceeds a threshold and displaying said at least one difference. 
     
     
       4. The method according to claim 1 further including the step of displaying said at least one difference if said difference exceeds a threshold and continuing execution of said behaviorally known computer program and said behaviorally unknown computer program until the next break point is reached. 
     
     
       5. The method according to claim 1 further including the initial step of selecting said break points in said behaviorally known computer program and said behaviorally unknown computer program. 
     
     
       6. The method according to claim 1 further including the step of compiling said behaviorally known computer program and said behaviorally unknown computer program from the same source code. 
     
     
       7. The method according to claim 1 characterized by said behaviorally known computer program and said behaviorally unknown computer program originating from equivalent algorithms in which both said algorithms, when functioning in a desired manner, have at least one variable value at the break point identical within a threshold. 
     
     
       8. The method according to claim 1 including the initial step of a user selecting said at least one variable of said behaviorally known computer program and said at least one variable of said behaviorally unknown computer program. 
     
     
       9. The method according to claim 1 further including the step of a user selecting a threshold value for said at least one difference between said at least one variable values. 
     
     
       10. The method according to claim 1 wherein the step of dynamically comparing said variable valves further includes the steps of: calculating a modulus of the difference between said variable values; and determining if said modulus is greater than a threshold. 
     
     
       11. The method according to claim 10 further including the step of standardizing said at least one variable values of said behaviorally known computer program and said behaviorally unknown computer program before subtracting. 
     
     
       12. The method according to claim 1 further including the step of displaying said variable values. 
     
     
       13. A computerized method for dynamically testing and debugging an executable behaviorally unknown computer program in an environment including: a first computer, said first computer having at least a central processing unit and dynamic memory;   a second computer, said second computer having at least a central processing unit and dynamic memory;   a third computer, said third computer having at least a central processing unit, dynamic memory and a display apparatus; and   communications apparatus linking said first, second and third computers so that said first, second and third computers can communicate;   the invented method including the steps of: (i) said first computer executing at least one instruction of an executable behaviorally known computer program until a break point is reached;   (ii) said first computer calculating at least one variable value at said break point;   (iii) said second computer executing at least one instruction of an executable behaviorally unknown program until a break point is reached;   (iv) said second computer calculating at least one related variable value at said break point;   (v) said third computer ascertaining said variable values calculated by said first computer in step (ii) and said second computer in step (iv) by use of said communications apparatus;   (vi) said third computer determining the difference between said variable values of step (ii) and step (iv).     
     
     
       14. A computerized method according to claim 13, further including the step of: (vii) said third computer displaying a message on said display apparatus regarding the results of step (vi).

Join the waitlist — get patent alerts

Track US5838975A — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.