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.

Date of Patent:
Sep. 01, 2009

Filed:

Oct. 02, 2003
Applicants:

Manuvir Das, Kirkland, WA (US);

Manuel Alfred Fahndrich, Seattle, WA (US);

Ramanathan Venkatapathy, Redmond, WA (US);

Daniel W. Weise, Kirkland, WA (US);

William Hunter Hudson, Kirkland, WA (US);

Sameet Harishanker Agarwal, Redmond, WA (US);

William Hiroaki Shihara, Redmond, WA (US);

Hannes Ruescher, Palo Alto, CA (US);

Spencer Wong Low, Bellevue, WA (US);

F. Soner Terek, Bellevue, WA (US);

Inventors:

Manuvir Das, Kirkland, WA (US);

Manuel Alfred Fahndrich, Seattle, WA (US);

Ramanathan Venkatapathy, Redmond, WA (US);

Daniel W. Weise, Kirkland, WA (US);

William Hunter Hudson, Kirkland, WA (US);

Sameet Harishanker Agarwal, Redmond, WA (US);

William Hiroaki Shihara, Redmond, WA (US);

Hannes Ruescher, Palo Alto, CA (US);

Spencer Wong Low, Bellevue, WA (US);

F. Soner Terek, Bellevue, WA (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/44 (2006.01); G06F 11/00 (2006.01); G06F 12/14 (2006.01);
U.S. Cl.
CPC ...
Abstract

Techniques and tools for implementing a source code annotation language are described. In one aspect, keywords are added to a function interface to define a contract for the function independent of function call context. In another aspect, annotations are inserted at global variables, formal parameters, return values, or user-defined types. The annotations include, for example, properties and qualifiers. A property can indicate, for example, a characteristic of a buffer. In another aspect, an annotation indicates that a value has usability properties sufficient to allow a function to rely on the value, where the usability properties depend on value type.


Find Patent Forward Citations

Loading…