Testing multi-thread software using prioritized context switch limits
AssigneeMicrosoft Corporation
InventorsMadanlal S. Musuvathi, Shaz Qadeer
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsMadanlal S. Musuvathi, Shaz Qadeer
Estimating the term…
Testing multithreaded application programs for errors can be carried out in an efficient and productive manner at least in part by prioritizing thread schedules based on numbers of context switches between threads therein. In particular, each thread schedule in a multithreaded application program can be prioritized based on whether a given thread schedule has the same as or less than some maximum value. A model checker module can then iteratively execute thread schedules that fit within a given context switch maximum value, or a progressively higher value up to some limit. In one implementation, for example, the model checker module executes all thread schedules that have zero preempting context switches, then all thread schedules that have only one preempting context switch, etc. Most errors in an application program can be identified by executing only those thread schedule with relatively few preempting context switches.
A method, performed by a computer system, for testing a multi-threaded computer program, the method comprising:
One or more computer storage media storing computer executable instructions which when executed by a process perform a method for testing a multi-threaded computer program, the method comprising:
A system comprising:
Dependencies are inferred from the claim text.