IP Library Granted Patent US 8,719,793
Granted Patent B2
US 8,719,793 · App. 13/314,738 · Granted May 6, 2014

Scope bounding with automated specification inference for scalable software model checking

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,719,793
App. No.
13/314,738
Granted
May 6, 2014
Kind
B2
Abstract

A scalable, computer implemented method for finding subtle flaws in software programs. The method advantageously employs 1) scope bounding which limits the size of a generated model by excluding deeply-nested function calls, where the scope bounding vector is chosen non-monotonically, and 2) automatic specification inference which generates constraints for functions through the effect of a light-weight and scalable global analysis. Advantageously, scalable software model checking is achieved while at the same time finding more bugs.

Claims (18)

1. A computer implemented method for adaptive, scope bounded verification of computer software programs comprising:

a) performing an automated pattern-based specification inference on a whole computer software program to compute likely function pre-conditions and function post-conditions;

b) generating multiple analysis instances from the whole computer software program by selecting functions to be treated as entry points for an analysis;

c) choosing a scope bound vector for an instance using previous results stored in an analysis results records database;

d) performing the analysis for a bounded instance;

e) storing analysis results in the analysis results records database; and

f) periodically performing the above steps a-e;

wherein the scope bound vector is adaptively chosen non-monotonically after each iteration and wherein the analysis is performed such that the computed likely function pre-conditions and function post-conditions are weaved into the analysis instance at the function scope boundary.

2. The computer implemented method of claim 1 further comprising:

generating operator-initiated warnings from the results stored in the analysis results records database and initiating investigations.

3. The computer implemented method of claim 2 further comprising:

updating a source code repository with updated computer software program code such that a new analysis instance is generated.

4. The computer implemented method of claim 2 , further comprising:

modifying the function pre-conditions and post-conditions for the next iteration based on the analysis results and generated warnings.

5. The computer implemented method of claim 1 , wherein the pattern-based specification inference is based on syntactically matching expressions in the code and handling pointer indirections.

6. The computer implemented method of claim 1 , wherein the specification inference hoists annotations based on assertions inside a function to its start and across function calls.

7. The computer implemented method of claim 1 , wherein the specification inference hoists annotations based on potential runtime errors inside a function to its start and across function calls.

8. The computer implemented method of claim 7 , wherein the specification inference hoists annotations for potential runtime errors, including segmentation faults, buffer overflows, and memory leaks.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2015
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 034765/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: IVANCIC, FRANJO; SANKARANARAYANAN, SRIRAM; GUPTA, AARTI
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 027748/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: MAEDA, NAOTO
To: NEC CORPORATION
Reel/Frame 027748/0346 →