The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jun. 06, 2006
Filed:
Apr. 30, 2002
Thomas J. Ball, Mercer Island, WA (US);
Sriram K. Rajamani, Bellevue, WA (US);
Todd D. Millstein, Seattle, WA (US);
Rupak Majumdar, Albany, CA (US);
Thomas J. Ball, Mercer Island, WA (US);
Sriram K. Rajamani, Bellevue, WA (US);
Todd D. Millstein, Seattle, WA (US);
Rupak Majumdar, Albany, CA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
Described is a method that enables the automatic generation of a boolean program that is a predicate abstraction of a program written using a general programming language. The method is capable of abstracting code statements within the program that include procedure calls, assignments, goto statements, conditionals, and pointers. In accordance with the invention, predicates of interest are identified for each code statement in the program. For each particular code statement, the process generates predicate statements that describe an effect that the statement has on the predicates of interest. If the effect of a particular code statement is indeterminable, non-deterministic predicate statements are included in the boolean program to model the indeterminable nature of the code statement. In addition, if a particular code statement includes a procedure call, the arguments and return value of the procedure call are translated to associated predicates in the calling context.