IP Library Granted Patent US 8,006,239
Granted Patent B2
US 8,006,239 · App. 12/015,126 · Granted Aug 23, 2011

Program analysis using symbolic ranges

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,006,239
App. No.
12/015,126
Granted
Aug 23, 2011
Kind
B2
Abstract

A computer implemented method for generating a representation of relationships between variables in a program employing Symbolic Range Constraints (SRCs) wherein the SRCs are of the form φ:^ i=1 n l i ≦x i ≦u i where for each i ε[l,n], the linear expressions l i ,u i are made up of variables in the set{x i+1 , . . . ,x n } and wherein the SRCs comprise linear, convex, and triangulated constraints for a given variable order.

Claims (15)

1. A computer-implemented method for generating a representation of relationships between variables in a program comprising the steps of:

automatically generating a set of Symbolic Range Constraints (SRCs) for the variables, wherein said SRCs are of the form φ:Λ i=1 n l i ≦x i ≦u i where for each i ε[l,n], the linear expressions l i , u i are made up of variables in the set {x i+1 , . . . , x n }, and wherein said SRCs comprise linear, convex, and triangulated constraints for a given variable order; and

providing said generated set of SRCs to a user.

2. The computer-implemented method of claim 1 employing a JOIN operation on SRC representations.

3. The computer-implemented method of claim 1 employing a MEET operation on SRC representations.

4. The computer-implemented method of claim 1 employing a transfer function of SRC representations with respect to a program statement.

5. The computer-implemented method of claim 1 employing a WIDENING operation on SRC representations.

6. The computer-implemented method of claim 1 employing a NARROWING operation on SRC representations.

7. The computer-implemented method of claim 1 further comprising the step of checking for inclusion of SRC representations.

8. The computer-implemented method of claim 1 which determines the correctness of the program by checking a safety property.

9. The computer-implemented method of claim 1 which determines the correctness of a program by detecting buffer overflow conditions.

10. The computer-implemented method of claim 1 which determines the correctness of a program by detecting null pointer dereferences.

11. The computer-implemented method of claim 1 which, used in an optimizing compiler, optimizes the program for size/performance.

12. The computer-implemented method of claim 1 which, used in a static analyzer, performs a program analysis.

13. The computer-implemented method of claim 1 which, used in a model checker, performs verification of the program.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2012
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 027767/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2008
From: SANKARANARAYANAN, SRIRAM; GUPTA, AARTI; IVANCIC, FRANJO; SHLYAKHTER, ILYA
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 020629/0865 →