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:
Jan. 06, 2015
Filed:
Dec. 01, 2009
Sebastian Carl Burckhardt, Sammamish, WA (US);
Pravesh Kumar Kothari, Chandrapur, IN;
Madanlal S. Musuvathi, Redmond, WA (US);
Santosh Ganapati Nagarakatte, Philadelphia, PA (US);
Sebastian Carl Burckhardt, Sammamish, WA (US);
Pravesh Kumar Kothari, Chandrapur, IN;
Madanlal S. Musuvathi, Redmond, WA (US);
Santosh Ganapati Nagarakatte, Philadelphia, PA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
Described is a probabilistic concurrency testing mechanism for testing a concurrent software program that provides a probabilistic guarantee of finding any concurrent software bug at or below a bug depth (that corresponds to a complexity level for finding the bug). A scheduler/algorithm inserts priority lowering points into the code and runs the highest priority thread based upon initially randomly distributed priorities. When that thread reaches a priority lowering point, its priority is lowered to a value associated (e.g., by random distribution) with that priority lowering point, whereby a different thread now has the currently highest priority. That thread is run until its priority is similarly lowered, and so on, whereby all schedules needed to find a concurrency bug are run.