×

Automated validation and verification of computer software

  • US 6,071,316 A
  • Filed: 09/29/1997
  • Issued: 06/06/2000
  • Est. Priority Date: 09/29/1997
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for automated validation and verification of computer software executing path and decision path, the computer software being validated and verified being the same computer software as used after validation and verification without being instrumented with other software, comprising the steps of:

  • compiling the computer software and generating a link map which includes a listing of all of lines of code in the computer software as well as links for all branches which are part of the computer software;

    executing the computer software in a processor such that all functions of the computer software are executed;

    monitoring the execution of the computer software in the processor of all lines of code in the computer software, storing a current address of a current line of the computer software which is being executed in the processor and a previous address of a previous line of the computer software being executed in the processor, and generating an execution record map with first and second fields, where the first field contains an indicator of all instruction addresses in the computer software where a branch is not taken, and the second field contains an indicator of all the instruction addresses in the software program where a branch is taken;

    comparing the link map with the execution record map to determine that all lines of the computer software are executed, and to identify particular lines and branches of the computer software which were not executed; and

    generating test coverage report which lists all the lines and branches of the computer software which were not executed and provides an evaluation of the test coverage of potential execution paths and decision execution paths;

    wherein the executing and monitoring steps comprise the step of comparing the current address of a current line of the computer software which is being executed with the previous address of a previous line of the computer software that was executed, and if the current instruction is more than one address greater or less than the previous address, the branch taken field is filled with the indicator, and if the current address is no more than one greater from the previous address, the branch not taken field is filled with the indicator; and

    wherein the step of comparing the link map with execution record map includes determining whether each of the addresses in the link map is or is not a branch instruction, and if it is, determining that the branch instruction has both the branch taken and the branch not taken indicators, and if the address is not a branch instruction determining the execution record map contains the branch not taken indicator.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×