IP Library Granted Patent US 8,131,532
Granted Patent B2
US 8,131,532 · App. 11/422,068 · Granted Mar 6, 2012

Software verification using range analysis

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,131,532
App. No.
11/422,068
Granted
Mar 6, 2012
Kind
B2
Abstract

A system and method is disclosed for formal verification of software programs that advantageously bounds the ranges of values that a variable in the software can take during runtime.

Claims (26)

1. A computer-implemented method of verifying a software program, said method comprising the computer implemented steps of:

performing a transformation of the software program source code by adding assertions that permit the detection of violations of verification properties;

generating a model which defines a set of executions of the transformed source code;

analyzing the model to verify the software program;

generating error traces when property violations are discovered; and

outputting the error traces indicative of the property violations;

THE METHOD CHARCTERIZED IN THAT:

a range analysis is performed thereby generating a bounded range of values for one or more variables in the transformed source code wherein prior to the range analysis the variables may take the full range of integer values;

the generated bounded ranges of values are used by the analyzing step thereby reducing the size of the variables in the model such that the sizes of the reduced variables are still large enough to represent all possible values during execution of the program;

creating three variables v.sub.p, v′.sub.p, v″.sub.p with a declaration of int**p, said v.sub.p standing for p, v′.sub.p for *p, and v″.sub.p for **p, and wherein variables representing pointers are desugared into variables of type unsigned int;

performing a first assignment to one of the three variables; and

performing a two conditional assignment based on the first assignment and aliasing of the variables.

2. The method of claim 1 CHARACTERIZED IN THAT:

the range analysis is limited to a number of steps of the software program execution.

3. The method of claim 1 CHARACTERIZED IN THAT:

The range analysis is applied to an array-manipulation occurring within the software program and bounded ranges of values are generated for elements in the array.

4. The method of claim 1 CHARACTERIZED IN THAT:

The range analysis is applied to an array-manipulation occurring within the software program and bounded ranges of values are generated for representatives of subsets of elements in the array.

5. The method of claim 2 CHARACTERIZED IN THAT:

the range analysis is applied to an array-manipulation occurring within the software program and bounded ranges of values are genrated for elements in the array.

6. The method of claim 2 CHARACTERIZED IN THAT:

the range analysis is applied to an array-manipulation occurring within the software program and bounded ranges of values are determined for representatives of subsets of elements in the array.

7. The method of claim 1 CHARACTERIZED IN THAT:

the analysis step includes model checking.

8. The method of claim 1 CHARACTERIZED IN THAT:

the analyzing step includes model checking.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE 8223797 ADD 8233797 PREVIOUSLY RECORDED ON REEL 030156 FRAME 0037. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 30, 2017
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 042587/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2013
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 030156/0037 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2006
From: CADAMBI, SRIHARI; ZAKS, ALEKSANDR; IVANCIC, FRANJO; SHLYAKHTER, ILYA; YANG, ZIJIANG; GANAI, MALAY; GUPTA, AARTI; ASHAR, PRANAV
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 018156/0373 →